作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我是 Struts2 的新手,想在重定向时将参数从一个 Action 发送到另一个 Action
我的表格是这样的
<s:form action="saveComment">
<s:push value="ai">
<s:hidden name="id"/>
<table cellpadding="5px">
<tr><td><s:textarea name="description" rows="5" cols="60" theme="simple" />
</td>
<td> <s:submit type="image" src="images/sbt.gif" >
</s:submit>
</td></tr>
</table>
</s:push>
</s:form>
我的 struts.xml 文件就像
<action name="saveComment" method="saveComment" class="com.weaverants.web.AIAction">
<result name="success" type="redirect">
<param name="actionName">displayAI</param>
<param name="aiId">${aiId}</param>
</result>
</action>
<action name="displayAI" method="displayAI" class="com.weaverants.web.AIAction">
<result name="success" >/display_ai.jsp</result>
</action>
最佳答案
您已经在 saveComment
中传递参数,您需要将结果类型声明为 redirectAction
,指定 action
名称作为 redirectAction 和任何其他需要的参数。喜欢
<action name="gatherReportInfo" class="...">
<result name="showReportResult" type="redirectAction">
<param name="actionName">generateReport</param>
<param name="namespace">/genReport</param>
<param name="reportType">pie</param>
<param name="width">100</param>
<param name="height">100</param>
<param name="empty"></param>
</result>
</action>
生成的重定向 URL 将是
/genReport/generateReport.action?reportType=pie&width=100&height=100
另一方面,使用结果类型作为 redirect
意味着响应被告知将浏览器重定向到指定位置(来自客户端的新请求)。在这种情况下还有操作实例、操作错误、刚刚执行的字段错误等丢失并且不再可用并且传递参数的唯一方法是通过 URL 或通过 session
可以使用与 redirectAction 相同的代码
Redirect 和 actionRedirect 之间的区别是第一个将使用 HttpServletResponse#sendRedirect(String) sendRedirect
而后者将由 ActionMapperFactory 提供的 ActionMapper 由 struts2 框架处理比 Redirect
结果更好用。
要在这些结果类型的 URL 模式旁边传递数据,您可以使用
关于struts2 - 如何将参数从一个 Action 传递到另一个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959078/
我是一名优秀的程序员,十分优秀!