struts2之如何使用参数重定向

xiaohuochai 阅读:39 2025-05-04 20:05:19 评论:0

<action name="AddedPaid"  class="iland.payment.SupplierPaidAction" method="insert"> 
  <result name="success"  type="redirect">ShowPaid</result> 
  <result name="input">/pages/payment/addToPay.jsp</result> 
  <result name="login">/pages/login.jsp</result>  
</action>    
 
<action name="ShowPaid" class="iland.payment.SupplierPaidAction" method="fetchAllByfk"> 
        <result name="success">/pages/paid/showPaidDetails.jsp</result> 
        <result name="input">/pages/payment/ShowPay.jsp</result> 
        <result name="login">/pages/login.jsp</result>             
 </action>  

此处 AddedPaid 操作用于将表单数据添加到数据库中。 将数据添加到数据库后,我将结果重定向到 ShowPaid 操作。 这工作正常。 现在我希望每当我将 AddedPaid 操作重定向到 ShowPaid 时。 ShowPaid 必须显示特定 supplierPaymentId 的数据,我已在 AddedPaid 中为其添加了数据。

重定向后是怎样的url

http://localhost:8082/ClothStore/ShowPaid 

我要

http://localhost:8082/ClothStore/ShowPaid?supplierPaymentId=4 

请您参考如下方法:

这很奇怪,通常人们有 2 个而想要 1 个 :)

顺便说一句,由于您使用的是 PostRedirectGet,因此您需要在 Struts 配置中手动传递参数。

假设您有一个名为 supplierPaymentId 的变量,带有 getter 和 setter,它可以像下面这样实现:

<action name="AddedPaid" class="iland.payment.SupplierPaidAction" method="insert"> 
    <result name="success"  type="redirectAction"> 
        <param name="actionName">ShowPaid</param> 
        <param name="supplierPaymentId">${supplierPaymentId}</param> 
    </result>   
    <result name="input">/pages/payment/addToPay.jsp</result> 
    <result name="login">/pages/login.jsp</result>  
</action>    

也可以使用 redirectAction 而不是 redirect,这意味着用于重定向到外部 URL 或非 Action URL


标签:Struts2
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号