dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr30.dtd">
<dwr>
<allow>
<create javascript="maildao" creator="new">
<param name="class" value="com.dbs.mail.dao.impl.MailDaoImpl"></param>
</create>
</allow>
</dwr>
web.xml <display-name>DWR (Direct Web Remoting)</display-name>
<description>A Simple Demo DWR</description>
<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>
MailDaoImpl中的deleteMessage方法
public boolean deleteMessage(int id) {
try {
session.beginTransaction();
Mail m=(Mail) session.get(Mail.class, id);
System.out.println("++++++++++++++++++++deleteMessage+++++++++++++++++++++++");
m.setDelState(1);
session.getTransaction().commit();
return true;
} catch (HibernateException e) {
e.printStackTrace();
return false;
}finally{
if(session!=null){
session.close();
}
}
}
javascript;
<script type="text/javascript">
function deleteMail(id,a){
/* alert(id); */ //在这里id是可以取到的
alset(a);
maildao.deleteMessage(id,function(result){
alert("ssssssssssssssssss");
if(result){
alert("删除成功");
var tr=a.parentNode.parentNode;
tr.parentNode.removeChild(tr);
}else{
alert("删除失败");
}
});
}
</script>
jsp代码(部分省略)
<script src='/dwr/interface/maildao.js'></script>
<script src='/dwr/util.js'></script>
<script src='/dwr/engine.js'></script>
</head>
<body>
<s:property value="msg"/><br>
<s:include value="top.jsp"></s:include>
<hr color="red">
<table border="1" width="80%" align="center">
<tr>
<th>标题</th><th>内容</th><th>操作</th>
</tr>
<s:iterator value="#session.user.sendMails" var="mails">
<tr>
<td>
<s:property value="#mails.title"/>
</td>
<td>
<s:property value="#mails.content"/>
</td>
<td>
<s:property value="#mails.id"/>
<a href="javascript:void(0)" onclick="deleteMail('<s:property value="#mails.id"/>',this)">删除</a>
</td>
</tr>
</s:iterator>
</table>
</body>
</html>浏览器支持javascript,但是就是不执行删除的方法。dwr.jar是最新的版本,刚从官网上下的dwrjavascript
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr30.dtd">
<dwr>
<allow>
<create javascript="maildao" creator="new">
<param name="class" value="com.dbs.mail.dao.impl.MailDaoImpl"></param>
</create>
</allow>
</dwr>
web.xml <display-name>DWR (Direct Web Remoting)</display-name>
<description>A Simple Demo DWR</description>
<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>
MailDaoImpl中的deleteMessage方法
public boolean deleteMessage(int id) {
try {
session.beginTransaction();
Mail m=(Mail) session.get(Mail.class, id);
System.out.println("++++++++++++++++++++deleteMessage+++++++++++++++++++++++");
m.setDelState(1);
session.getTransaction().commit();
return true;
} catch (HibernateException e) {
e.printStackTrace();
return false;
}finally{
if(session!=null){
session.close();
}
}
}
javascript;
<script type="text/javascript">
function deleteMail(id,a){
/* alert(id); */ //在这里id是可以取到的
alset(a);
maildao.deleteMessage(id,function(result){
alert("ssssssssssssssssss");
if(result){
alert("删除成功");
var tr=a.parentNode.parentNode;
tr.parentNode.removeChild(tr);
}else{
alert("删除失败");
}
});
}
</script>
jsp代码(部分省略)
<script src='/dwr/interface/maildao.js'></script>
<script src='/dwr/util.js'></script>
<script src='/dwr/engine.js'></script>
</head>
<body>
<s:property value="msg"/><br>
<s:include value="top.jsp"></s:include>
<hr color="red">
<table border="1" width="80%" align="center">
<tr>
<th>标题</th><th>内容</th><th>操作</th>
</tr>
<s:iterator value="#session.user.sendMails" var="mails">
<tr>
<td>
<s:property value="#mails.title"/>
</td>
<td>
<s:property value="#mails.content"/>
</td>
<td>
<s:property value="#mails.id"/>
<a href="javascript:void(0)" onclick="deleteMail('<s:property value="#mails.id"/>',this)">删除</a>
</td>
</tr>
</s:iterator>
</table>
</body>
</html>浏览器支持javascript,但是就是不执行删除的方法。dwr.jar是最新的版本,刚从官网上下的dwrjavascript
解决方案 »
- 财务软件接口 高手帮忙
- 关于网站的3功能,求帮忙
- dwr server push的相关问题
- 如何把Word文件的内容显示在jsp页面中
- 寻找jetty下运行的jsp生成的servlet java类如何找到
- ssh 在action 里 private server 但是server一直为空
- tomcat5.14+sql2000下的分页。通过调用存储过程进行分页的,可以执行的
- 用Tomcat+Apache和用Resin比起来哪个更好一点啊?
- 用什么方法替代 servlet中的getRealPath()方法。
- 请问JSP中如何实现以功能?
- 多个应用在web容器中部署的问题
- java ee中Deployment Descriptor视图无法显示
把8080换成你的端口,把[YOUR-WEBAPP]换成你的项目名称,可以看见一个页面,里面有你在dwr中配置的类。接着往里点,你会看到所有可以调用的方法列表
如果看不到那么DWR就没有整合到你的web应用中jsp页面
<script src='/[YOUR-WEBAPP]/dwr/engine.js'></script>
<script src='/[YOUR-WEBAPP]/dwr/interface/[YOUR-SCRIPT].js'></script>
。。
dwr.xml写<convert/>要转换的类
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>