2012-11-09 55 views
1

在struts-config.xml文件中,action元素有一个input属性,当actionForm的validate方法返回时一些错误。如何在Action标签中动态设置“input”属性的值 - Struts-config.xml(Struts 1.2)

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

但我想,当发生在validate方法错误,要改变这种输入属性,因为我有一个以上的页面提交这个动作,我想将它转发到当前的提交页面。

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

回答

0

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

<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"/> 
+0

在我的情况下,路径,属性,名称,参数等是常见的。除了“输入”值。 不能妥协为每个不同的输入路径值使用不同的操作。 请让我知道,如果我可以通过使用一些表达式或在验证过程中设置值.. 关注 – Chinni

+0

为什么你不能使用不同的路径?您不必重写控制器,只需将相同的控制器映射到2个不同的路径,每个路径都有自己的输入,并根据验证失败时要返回的页面调用操作。不是改变输入,而是调用不同的路径,它是一样的。 – Th0rndike

+0

好的!让我解释你的问题。 我们正在将我们的应用程序转换为新的外观和感受在这里,除了JSP之外,事情是一样的。我们将同时以模块为单位进行工作,旧代码应该可以工作,新代码也应该可以工作。 所以我们不能妥协改变行动路径。 此致敬礼。 – Chinni

相关问题