dwr问题 本网站有一个这样的示例,我上次下了一个,实现了,我自己以前也做过一个这样的题目你去查找那个dwr实现google无刷新的搜索里面有个这样的示例,自己去看看吧,你那代码太长了真难的看,去看看别人做的吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function remsg(revalue){ if(revalue == 1) dwr.util.setValue("msg","修改已完成!"); else dwr.util.setValue("msg","修改未完成!"); } remsg 是一个回调方法你的JAVA类public void modifypass(String uname, String psw) throws Exception { 改为要返回一个对象public int modifypass(String uname, String psw) throws Exception { //逻辑处理//return 1;//return 0;} 你调用的DWR方法UserinfoImpl.modifypass($("uname").value,$("psw").value,remsg); 是将JAVA类的return 值返回给remsg调用//function regmsg(a){//a值为JAVA类的return 值(即UserinfoImpl.modifypass ($("uname").value,$("psw").value)//写你的逻辑;if(a==1){//}else if(a==0){//}} //DWR中文帮助文档.pdf网上到处有下的//开发少不了文档资料大哥1.2 第一个DWR程序:Hello World有2中方法可以帮助你入门DWR,一个方法是去下载WAR文件并且去完整看一下代码,但是这样并不能帮助你发现DWR是如何简单地集成到你当前地WEB应用,所以以下几个简单地步骤推荐看一下:1.2.1 将DWR放入你的工程1) 从官方网站下载dwr.jar包。然后将它放在你webapp的WEB-INF/lib目录下。2) 将下载的dwr-版本号-src.zip \java\org\directwebremoting内的engine.js和util.js放入WEB应用中,比如js文件夹下。1.2.2 编辑配置文件1. web.xml以下几行代码必须被添加到WEN-INF/web.xml文件中。注意,要把<servlet>和其他<servlet>放在一起,<servlet-mapping>要和其他<servlet-mapping>放在一起 <servlet> <servlet-name>dwr-invoker</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-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>dwr.xml在web.xml的同一目录下,创建dwr.xml,并且将要被调用的java类写入其中。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="service"> <param name="class" value="helloWorld.Service" /> </create> </allow> </dwr>package helloWorld; public class Service { public String sayHello(String yourName)//LZ你的是个void的JAVA类没返回值 { //可以是访问数据库的复杂代码 return "Hello World " + yourName; } }<html> <head> <title>My JSP 'first_dwr.jsp' starting page</title> <script type='text/javascript' src='js/util.js'></script> <script type='text/javascript' src='js/engine.js'></script> <script type='text/javascript' src='dwr/interface/service.js'> </script> <script type="text/javascript"> function firstDwr(){ service.sayHello("Jorwen",callBackHello); } function callBackHello(data){ alert(data); } </script> </head>12 / 92<body> <input type="button" name="button" value="测试" onclick="firstDwr()"> </body> </html> 对了这个配置文件最好配个跨域调用web.xml具体为什么就别问了让高手解释吧 <!-- DWR start --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>logLevel</param-name> <param-value>warn</param-value> </init-param> <!-- crossDomainSessionSecurity --> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> <!-- crossDomainSessionSecurityend --> <load-on-startup>1</load-on-startup> </servlet> <!-- DWR end --> 我修改了代码,可是为什么总是说“修改没有完成呢?”页面:[code=<script type="text/javascript"> function setpsw() { dwr.util.setValue("msg",""); if($("psw").value==""||$("confirm").value=="") { alert("请输入密码!"); return false; } if($("psw").value!=$("confirm").value) { dwr.util.setValue("msg","两次输入的密码不一致!"); return false; } UserinfoImpl.modifypass($("adminid").value,$("psw").value,remsg); alert(adminid); } var remsg = function(revalue){ if(revalue == 1) dwr.util.setValue("msg","修改已完成!"); else dwr.util.setValue("msg","修改未完成!"); }</script>][/code]JAVA类:public int modifypass(String adminid, String psw) throws Exception { System.out.println(adminid); System.out.println(psw); // TODO Auto-generated method stub int count=0; try { String hql = "UPDATE UserInfo SET Password=? WHERE userName=?" ; System.out.println(hql); Query q=super.getSession().createQuery(hql); q.setString(0,psw); q.setString(1,adminid); System.out.println("dddddddddddddddd"); System.out.println(psw); q.executeUpdate(); super.getSession().beginTransaction().commit(); count=1; } catch(Exception e) { return count=-1; } return count; } 请教关于分页插件扩展的问题 一段JS代码,求帮解释下。最好详细点。 关于网站初始大小的菜鸟级别问题。。急急急~~~ 条件替换问题! 问一个关于js验证的问题(在某个区间的数字) 如何在一个框架中点击按钮后让另一个框架内页面跳转 framnes 的访问 用js怎样删除相对路径下的图片 ■■■超难问题:如何屏蔽弹出窗口的关闭按钮?■■■ 如何在弹出dialog中,显示一个datagrid,如何双击某一行,触发OK按扭事件 很急,请问javascript的onload和onclick问题? 大家用firefox遇到过样的问题吗?
if(revalue == 1)
dwr.util.setValue("msg","修改已完成!");
else
dwr.util.setValue("msg","修改未完成!");
}
remsg 是一个回调方法
你的JAVA类
public void modifypass(String uname, String psw) throws Exception { 改为
要返回一个对象
public int modifypass(String uname, String psw) throws Exception {
//逻辑处理
//return 1;
//return 0;
}
是将
JAVA类的return 值返回给remsg调用//
function regmsg(a){//a值为JAVA类的return 值(即UserinfoImpl.modifypass ($("uname").value,$("psw").value)
//
写你的逻辑;
if(a==1){
//
}
else if(a==0){
//}}
//开发少不了文档资料大哥
1.2 第一个DWR程序:Hello World
有2中方法可以帮助你入门DWR,一个方法是去下载WAR文件并且去完整看一下代码,但是这样并不能帮助你发现DWR是如何简单地集成到你当前地WEB应用,所以以下几个简单地步骤推荐看一下:
1.2.1 将DWR放入你的工程
1) 从官方网站下载dwr.jar包。然后将它放在你webapp的WEB-INF/lib目录下。
2) 将下载的dwr-版本号-src.zip \java\org\directwebremoting内的engine.js和util.js放入WEB应用中,比如js文件夹下。
1.2.2 编辑配置文件
1. web.xml
以下几行代码必须被添加到WEN-INF/web.xml文件中。注意,要把<servlet>和其他<servlet>放在一起,<servlet-mapping>要和其他<servlet-mapping>放在一起 <servlet> <servlet-name>dwr-invoker</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-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>dwr.xml
在web.xml的同一目录下,创建dwr.xml,并且将要被调用的java类写入其中。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="service"> <param name="class" value="helloWorld.Service" /> </create> </allow> </dwr>package helloWorld;
public class Service
{ public String sayHello(String yourName)//LZ你的是个void的JAVA类没返回值
{ //可以是访问数据库的复杂代码 return "Hello World " + yourName; } }<html> <head> <title>My JSP 'first_dwr.jsp' starting page</title> <script type='text/javascript' src='js/util.js'></script> <script type='text/javascript' src='js/engine.js'></script> <script type='text/javascript' src='dwr/interface/service.js'> </script> <script type="text/javascript"> function firstDwr(){ service.sayHello("Jorwen",callBackHello); } function callBackHello(data){ alert(data); } </script> </head>
12 / 92
<body> <input type="button" name="button" value="测试" onclick="firstDwr()"> </body> </html>
<!-- DWR start -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>warn</param-value>
</init-param>
<!-- crossDomainSessionSecurity -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<!-- crossDomainSessionSecurityend -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- DWR end -->
页面:
[code=<script type="text/javascript"> function setpsw()
{
dwr.util.setValue("msg","");
if($("psw").value==""||$("confirm").value=="")
{
alert("请输入密码!");
return false;
}
if($("psw").value!=$("confirm").value)
{
dwr.util.setValue("msg","两次输入的密码不一致!");
return false;
}
UserinfoImpl.modifypass($("adminid").value,$("psw").value,remsg);
alert(adminid);
}
var remsg = function(revalue){
if(revalue == 1)
dwr.util.setValue("msg","修改已完成!");
else
dwr.util.setValue("msg","修改未完成!");
}
</script>][/code]
JAVA类:
public int modifypass(String adminid, String psw) throws Exception {
System.out.println(adminid);
System.out.println(psw);
// TODO Auto-generated method stub
int count=0;
try
{
String hql = "UPDATE UserInfo SET Password=? WHERE userName=?" ;
System.out.println(hql);
Query q=super.getSession().createQuery(hql);
q.setString(0,psw);
q.setString(1,adminid);
System.out.println("dddddddddddddddd");
System.out.println(psw);
q.executeUpdate();
super.getSession().beginTransaction().commit();
count=1;
}
catch(Exception e)
{
return count=-1;
}
return count;
}