gpt4 book ai didi

struts2 - 如何将参数从一个 Action 传递到另一个 Action

转载 作者:行者123 更新时间:2023-12-01 12:57:29 27 4
gpt4 key购买 nike

嗨,我是 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 模式旁边传递数据,您可以使用

  1. 在操作重定向之间保存数据的 session 。
  2. ScopeInterceptor .

关于struts2 - 如何将参数从一个 Action 传递到另一个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com