<noscript></noscript> 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要先初始化,所以數字要比較小.
dwr.xml中加入struts的設定,其中formBean的參數的value值,會對應到struts-config.xml中<form-beans>的設定
struts-config.xml
testActionForm.java,getDate()會透過dwr,取得現在最新的日期
testAction.java
date.jsp,在form的部分,請用struts 的 tag library,我把<html:text property="strDate" size="30" >改成<input type="text" name="strDate">後,無法正常的接受到值.
display.jsp
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" οnclick="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> |