【问题标题】:How to dynamically set the value of "input" attribute in Action tag - Struts-config.xml (Struts 1.2)如何在 Action 标签中动态设置“input”属性的值 - Struts-config.xml (Struts 1.2)
【发布时间】:2012-10-29 16:34:31
【问题描述】:

在struts-config.xml文件中,action元素有一个input属性,当actionForm的validate方法返回一些错误时使用。

<action
  path="/somepath"
  attribute="someForm"
  input="/some.jsp"
  name="someForm"
  parameter="status"
  scope="request"
  type="cn.mycompany.struts.action.SomeAction"/>

但我想在 validate 方法中发生错误时更改此输入属性,因为我有多个页面提交到此操作,并且我希望将其转发到当前提交页面。

我该怎么做,请帮助我。我使用的是 Struts 1.2 版本。

【问题讨论】:

    标签: struts struts-1 struts-validation struts-config


    【解决方案1】:

    您需要做的就是再次映射操作。为您需要的每个输入提供一个映射。

    <action
    path="/somepath"
    attribute="someForm"
    input="/some.jsp"
    name="someForm"
    parameter="status"
    scope="request"
    type="cn.mycompany.struts.action.SomeAction"/>
    
    <action
    path="/somepath2"
    attribute="someForm"
    input="/some2.jsp"
    name="someForm"
    parameter="status"
    scope="request"
    type="cn.mycompany.struts.action.SomeAction"/>
    

    【讨论】:

    • 在我的情况下,路径、属性、名称、参数等很常见。除了“输入”值。不能在对每个不同的输入路径值使用不同的操作上妥协。请让我知道我是否可以在验证期间使用某些表达式或在操作中设置值。问候
    • 为什么不能使用不同的路径?您不必重写控制器,您需要做的就是将同一个控制器映射到 2 个不同的路径,每个路径都有自己的输入,并根据验证失败时要返回的页面调用操作。而不是改变输入,你调用不同的路径,它是一样的。
    • 好的!!!让我解释一下我的问题。我们正在将我们的应用程序转换为新的外观和感觉除了 JSP 之外,这里的一切都是一样的。我们将同时基于模块工作,旧代码应该工作,新代码应该工作。所以我们不能在改变行动路径上妥协。问候。
    • @PurushothamReddyP 完成答案后请发布,我也面临同样的情况。
    • @Anto:对不起,我终于发现 Struts 不允许我们改变。我唯一的选择是创建一个New Struts-configNew.xml 并在那个XML 文件中包含我对New JSP 的定义。我们几乎完成了这些更改。任何意见表示赞赏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多