gpt4 book ai didi

java - 支柱 2 : parameters between Actions

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:24 27 4
gpt4 key购买 nike

我有以下问题:当我完成一个表单并且操作保存表单的值时,我需要传递一个参数(例如 ID ),这将转发到结果=“成功”并且我需要在成功中调用的操作与ID 和其他参数稍后在下一个表单中使用以保存此信息(info-form2 和 info.form1)...

例如:

FORM1(用户)====“成功”====> FORM2(地址)

userForm.html ===================> addressForm.html?user_id=X ...(其中 X:Id 传递了 UserAction 的抛出(方法:save) 到 AddressAction (method:newAddress))

谢谢你的帮助

提前致谢

最佳答案

您使用了“转发”一词,但听起来您想转到一个新页面 (address.html) 以收集有关该地址的更多信息。如果是这种情况,您需要在用户操作完成后重定向到地址页面。

<action name="user" class="UserAction">
<!-- Redirect to another namespace -->
<!-- for Struts 2.2 --> <result type="redirectAction">
<!-- for Struts 2.0 <result type="redirect-action"> -->
<param name="actionName">collect-address</param>
<param name="userId">${userId}</param>
</result>
</action>

${userId} 语法将在您的 UserAction 上调用 getUserId 并传递您在问题中显示的参数:addressForm.html?user_id=X。 collect-address 可以有一个进入 addressForm.html 的成功结果。 Docs here.如果您想避免使用其他操作,可以尝试 using the result type="redirect"并通过这种方式传递事物。

如果真的要转发,可以用action chaining .这是 discouraged by Ted Husted on the Struts2 team但它可能对您有用。

尝试将完成此请求的所有代码放入单个操作中,而不是操作链接,并使用 User 和 Address 的帮助程序或服务类来分离和重用代码,而不是“操作链接”。

关于java - 支柱 2 : parameters between Actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/784527/

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