Struts 2 第18part ResultWithParams 带参数的结果集

2013年2月18日

一个bug很烦人,MyEclipse 9对动态配置结果集似乎不怎么支持。总是报错,

下面是网上的一个解决方案: Window->prefrences->MyEclipse->Validation->Struts2 Validator->去掉build的勾。去掉之后还是会有报错的,需要重启一下MyEclipse才行,反正我的是这样才行。 既然没有错了,继续下一part。

Struts 2 第18part ResultWithParams 带参数的结果集

实例:Strust2_ResultWithParams

关于这个知识点也没有什么复杂的地方,通过Action的属性接收参数,我们已经说过了。

带参数的结果集,只是把Action接收到的参数,传给jsp罢了。

看代码最直观struts.xml

  
  
  
  
  1. <?xml version="1.0" encoding="UTF-8" ?> 
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd"> 
  5.  
  6. <struts> 
  7.     <constant name="struts.devMode" value="true" /> 
  8.     <package name="user" namespace="/user" extends="struts-default"> 
  9.         <action name="user" class="com.wwj.struts2.user.action.UserAction"> 
  10.             <result type="redirect">/user_success.jsp?t=${type}</result>          
  11.         </action> 
  12.     </package> 
  13. </struts> 

 

index.jsp

  
  
  
  
  1. <?xml version="1.0" encoding="GB18030" ?> 
  2. <%@ page language="java" contentType="text/html; charset=GB18030" 
  3.     pageEncoding="GB18030"%> 
  4.  
  5. <% String context = request.getContextPath(); %> 
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  8. <html xmlns="http://www.w3.org/1999/xhtml"> 
  9. <head> 
  10. <meta http-equiv="Content-Type" content="text/html; charset=GB18030" /> 
  11. <title>Insert title here</title> 
  12. </head> 
  13. <body> 
  14. 向结果传参数  
  15. <ol> 
  16.     <li><a href="user/user?type=1">传参数</a></li> 
  17. </ol> 
  18.       
  19. </body> 
  20. </html> 

 

user_success.jsp

  
  
  
  
  1. <?xml version="1.0" encoding="GB18030" ?> 
  2. <%@ page language="java" contentType="text/html; charset=GB18030" 
  3.     pageEncoding="GB18030"%> 
  4.     <%@taglib uri="/struts-tags" prefix="s" %> 
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  6. <html xmlns="http://www.w3.org/1999/xhtml"> 
  7. <head> 
  8. <meta http-equiv="Content-Type" content="text/html; charset=GB18030" /> 
  9. <title>UserSuccess</title> 
  10. </head> 
  11. <body> 
  12.     User Success!<br/> 
  13.     从值栈中取值:<s:property value="t"/><br/> 
  14.     从actioncontext中取值:<s:property value="#parameters.t"/> 
  15.     <s:debug></s:debug> 
  16. </body> 
  17. </html> 

 

效果如下:

从上面的结果可看出,t是不存在值栈中的, 所以取不出来。

然而可以从action context里存在t,可以把值取出来。

你可能感兴趣的:(struts,2)