警惕 JS 方法名 的规范性 -- 记 dwr 入门 - Hello world
2010-03-14 01:10
232 查看
郁闷了一下午的问题
调试模式 可以成功调用 java 方法, 但是在页面中却无法运行
--------------------------------------
package com.service;
public class HelloService {
public String sayHello(String str){
return "Hello World"+str;
}
}
================================
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>dwr-invoke</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoke</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create javascript="hs" creator="new" scope="application">
<param name="class" value="com.service.HelloService"></param>
<include method="sayHello"/>
</create>
</allow>
</dwr>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="<%=path%>/dwr/interface/hs.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type="text/javascript">
// 由于 hs 方法名 与 hs 对象 重复 ,导致冲突而无法访问 sayHello 方法
function hs(){ // 将hs 方法名 改一下 就OK
alert("");
hs.sayHello("cccccc",abc);
alert("xxxx");
}
function abc(data){
alert(data);
}
</script>
</head>
<body>
<input onclick="hs();" value="dddd" type="button">
</body>
</html>
调试模式 可以成功调用 java 方法, 但是在页面中却无法运行
--------------------------------------
package com.service;
public class HelloService {
public String sayHello(String str){
return "Hello World"+str;
}
}
================================
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>dwr-invoke</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoke</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create javascript="hs" creator="new" scope="application">
<param name="class" value="com.service.HelloService"></param>
<include method="sayHello"/>
</create>
</allow>
</dwr>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="<%=path%>/dwr/interface/hs.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type="text/javascript">
// 由于 hs 方法名 与 hs 对象 重复 ,导致冲突而无法访问 sayHello 方法
function hs(){ // 将hs 方法名 改一下 就OK
alert("");
hs.sayHello("cccccc",abc);
alert("xxxx");
}
function abc(data){
alert(data);
}
</script>
</head>
<body>
<input onclick="hs();" value="dddd" type="button">
</body>
</html>
相关文章推荐
- Node.js入门:Hello World
- DWR中js调用Java方法的参数及返回值
- js入门·对象属性方法大总结
- js入门实例の构造函数\方法的定义和调用\原型对象
- js入门·对象属性方法大总结
- [转]Underscore.js 入门-常用方法介绍
- Node.js入门 Hello World
- 转"js入门·对象属性方法大总结"
- js入门实例の构造函数\方法的定义和调用\原型对象
- ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
- Node.js入门,第一个APP,Hello World
- js入门·动态的时钟,显示完整的一些方法,新年倒计时
- js入门·对象属性方法大总结
- js入门·动态的时钟,显示完整的一些方法,新年倒计时
- js入门·对象属性方法大总结
- Node.js入门笔记(6):web开发方法
- js入门实例の构造函数/方法的定义和调用/原型对象
- vue.js初级入门,hello world
- Node.js学习笔记(2) - Node.js安装及入门hello world
- 使用dwr同步调用导致无法获取js方法的返回结果问题的解决办法