DWR 및 Struts 통합

17439 단어 struts
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 추가
그 중에서 의 부분은 특히 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에서 설정
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를 사용하십시오. 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>

좋은 웹페이지 즐겨찾기