來源: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
|
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;
}
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 阅读(1144)
评论(3) 编辑 收藏 所属分类:
ajax