【问题标题】:How to redirect struts action with dynamic parameter如何使用动态参数重定向 struts 动作
【发布时间】:2016-05-31 13:28:57
【问题描述】:

我想用参数“id”重定向操作。

我在 struts.xml 中使用了这段代码

<action name="register" class="com.framework.strust2.UserAffair">
        <result name="success" type="redirectAction">
            <param name="actionName">viewProfile</param>
            <param name="id">${id}</param>
        </result>
</action>

它适用于动作重定向和参数名称 id,但不适用于参数值 ${id}。它仅适用于常量 id,例如;

 <param name="id">1</param>

虽然我搜索了我的问题的解决方案,但没有任何案例符合我的需要。请。

【问题讨论】:

  • 在动作类中你应该定义 id 变量。你能把你的动作类代码写下来,以便我们更好地了解吗
  • 太棒了!谢谢@Roman C。它终于起作用了。

标签: redirect struts2 parameter-passing action


【解决方案1】:

要通过动作传递参数,您应该必须在动作中定义该变量,如果您使用模型驱动方法,那么该参数应该在 pojo 中,即

这是你的 struts.xml 动作配置。

<action name="register" class="com.framework.strust2.UserAffair">
    <result name="success" type="redirectAction">
        <param name="actionName">viewProfile</param>
        <param name="id">${id}</param>
    </result>
</action>

所以在你的动作类中应该有变量sayaing id。 即

class UserAffair{
 private int id;

 //setter and getter
}

如果您使用的是模型驱动程序,那么在您的 pojo 中应该有一个变量表示 id。

希望对你有很大帮助

【讨论】:

  • 我已经在 UserAffair 类中有 getter 和 setter。如果我设置固定的“id”如:1,2,3 并直接触发viewProfile动作,参数“id”可以在jsp页面中打印出来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 2022-01-09
相关资源
最近更新 更多