posts - 0,  comments - 17,  trackbacks - 0
來源:http://jeplove.blog.zj.com/blog/d-146416.html
1.下載DWR Version 2
https://dwr.dev.java.net/files/documents/2427/47504/dwr.jar

2.安裝DWR,把dwr.jar放到WEB-INF/lib下

web.xml中加入DWRServlet & ActionServlet
其中<load-on-startup>的部分要特別注意,ActionServlet要先初始化,所以數字要比較小.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  <servlet>    
<servlet-name>action</servlet-name>    
<servlet-class>org.apache.struts.action.ActionServlet
</servlet-class>    
<init-param>      
<param-name>config</param-name>      
<param-value>/WEB-INF/struts-config.xml</param-value>    
</init-param>    
<init-param>      
<param-name>debug</param-name>      
<param-value>2</param-value>    
</init-param>    
<load-on-startup>2</load-on-startup>  
</servlet>  
<servlet-mapping>    
<servlet-name>action</servlet-name>    
<url-pattern>*.do</url-pattern>  
</servlet-mapping>  
<servlet>    
<servlet-name>dwr-invoker</servlet-name>    
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>    
<init-param>      
<param-name>debug</param-name>      
<param-value>true</param-value>    
</init-param>    
<load-on-startup>10</load-on-startup>  
</servlet>  
<servlet-mapping>   
 <servlet-name>dwr-invoker</servlet-name>    
<url-pattern>/dwr/*</url-pattern>  
</servlet-mapping>



dwr.xml中加入struts的設定,其中formBean的參數的value值,會對應到struts-config.xml中<form-beans>的設定
1
2
3
4
5
6
7
8
  <dwr>  
<allow>    
<create creator="struts" javascript="testFrm">      
<param name="formBean" value="testActionForm"/>    
</create>  
</allow>  
</dwr>  


struts-config.xml
1
2
3
4
5
6
7
8
9
10
11
  <struts-config>  
<form-beans>    
<form-bean name="testActionForm" type="test.struts.testActionForm" />  
</form-beans>  
<action-mappings>    
<action name="testActionForm" path="/testAction" scope="session" type="test.struts.testAction" validate="false">      
<forward name="display" path="/display.jsp" />    
</action>  
</action-mappings>  
<message-resources parameter="ApplicationResources" />
</struts-config>


testActionForm.java,getDate()會透過dwr,取得現在最新的日期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package test.struts; 
import org.apache.struts.action.*;
import java.util.*; 
public class testActionForm extends ActionForm {     
private String strDate;     
public void setStrDate(String strDate) {        
this.strDate = strDate;    
}     
public String getStrDate() {        
return strDate;    
}    
 //dwr    public String getDate() {        
Date date = new Date();        
return date.toString();   
 } 
}


testAction.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package test.struts; 
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.struts.action.*; 
public class testAction extends Action {    
	public ActionForward execute(ActionMapping mapping, ActionForm form,                                 
HttpServletRequest request,                                 
HttpServletResponse response) {         
testActionForm actionForm = (testActionForm) form;       
 System.out.println(actionForm.getStrDate());        
return mapping.findForward("display");    
}
}

date.jsp,在form的部分,請用struts 的 tag library,我把<html:text property="strDate" size="30" >改成<input type="text" name="strDate">後,無法正常的接受到值.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<%@ page contentType="text/html; charset=Big5" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html><head>
<title>title</title>  
<script type='text/javascript' src='dwr/interface/testFrm.js'></script>  
<script type='text/javascript' src='dwr/engine.js'></script>  
<script type='text/javascript' src='dwr/util.js'></script>
</head>
<SCRIPT LANGUAGE="JavaScript" type=""
function refreshDate() {   
 testFrm.getDate(populateDate)
;} 
function populateDate(data){   
DWRUtil.setValue('strDate', data);
} 
</script> 
<body> 
<html:form action="testAction.do">
date:<html:text property="strDate" size="30" ></html:text> 
<input type="button" onclick="refreshDate();" value="更新日期"/><br/>   
<html:submit>送出  </html:submit>
</html:form></body></html>


display.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page contentType="text/html; charset=Big5" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
%@page import="test.struts.*"%
<html>
<head>
<title>test</title>
</head><body bgcolor="#ffffff"><h1>您送出的日期:<br>
<bean:write name="testActionForm" property="strDate"/></h1>
</body>
</html>
 
posted on 2008-09-12 11:21 xyz 阅读(1146) 评论(3)  编辑  收藏 所属分类: ajax

FeedBack:
# re: DWR与Struts整合
2008-10-09 17:28 | 呜呜
没看到整合
  回复  更多评论
  
# re: DWR与Struts整合
2009-04-13 10:00 | SS
很好,顶一个!!!  回复  更多评论
  
# re: DWR与Struts整合[未登录]
2010-03-31 15:21 | Betty
发现了一个问题,整合是整合了,但是发现没有什么用  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

留言簿

随笔档案(1)

文章分类(44)

文章档案(46)

收藏夹(1)

Adobe

AOP

API

appServer

BI

c

  • c-free
  • codeblocks
  • codelite
  • CodeLite IDE 是一个强大的开源,跨平台的 C/C++整合开发环境. 支持包括 Windows、Linux 和 Mac 系统下运行
  • codelite官网
  • dev-c++
  • Dev-C++是一个C&C++开发工具,它是一款自由软件,遵守GPL协议。
  • GCC
  • GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada 与其他语言。

Cache

CMS

DB

eclipse

FreeMarker

hibernate

html5

ibatis

java

jquery

js

json

Linux

Log

mail server

mobile

mysql

oauth

openID

other

PHP

portal

report

Scheduler

schema

Security

SOA

spring

struts

UI原型设计

w3c

Wap

webservice

xml

供应链管理

博客链接

好网站

工作流

开源网

招聘

插件下载

操作系统

构建可伸缩的系统

构建工具

测试

  • IETest
  • IE官网
  • OpenSTA
  • Siege
  • Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力

游戏

源码托管

经营

资源

金融/财务

搜索

  •  

最新评论