警惕 JS 方法名 的规范性 -- 记 dwr 入门 - Hello world

来源:互联网 发布:广联达认证网络大赛 编辑:程序博客网 时间:2024/05/17 12:48

郁闷了一下午的问题

 

 

调试模式  可以成功调用 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>

 

 

 

原创粉丝点击