在 Struts 2 中使用一个操作和多个 JSP 页面进行验证
Validation with one action and multiple JSP pages in Struts 2
我有一个表单,其中有一个部分,我可以在其中提交评论,而不是更新整个表单。
为了让我的 JSP 易于管理,我使用以下 Struts 2 操作:
<action name="maininfo" class="MainInfo">
<result name="success" type="tiles">maininfo</result>
<result name="addFundingComment" type="tiles">addFundingComment</result>
<result name="input" type="tiles">maininfo</result>
</action>
maininfo
磁贴显示主窗体 JSP 页面。 addFundingComment
磁贴显示提交评论的表单。
我的问题是,如果验证失败,"input"
结果必须转到 maininfo
拼贴或 addFundingComment
拼贴,但我需要它转到与表单验证失败。
我可以通过将 addFundingComment
JSP 代码放在 maininfo
JSP 代码中并使用 <s:if>
来显示表单 I想要,但我认为有两个单独的 JSP 文件使每个文件都更易于管理和调试。
我想使用一个 Action
以便在用户提交评论时更轻松地保留所有 maininfo
字段更改。
有没有一种方法可以让一个 Action
和 <results>
转到不同的 JSP 页面并且验证失败 return 到相应的 JSP页数?
您可以使用动态结果配置来return相应的视图。动态 属性 是通过 OGNL 评估的,因此您必须创建一个 getter 方法来 return input
结果的位置。
<result name="input" type="tiles">${inputName}</result>
活动中class
public String getInputName() {
String inputName = "maininfo";
if (actionName.equals("addFundingComment")
inputName = "addFundingComment";
return inputName;
}
我有一个表单,其中有一个部分,我可以在其中提交评论,而不是更新整个表单。
为了让我的 JSP 易于管理,我使用以下 Struts 2 操作:
<action name="maininfo" class="MainInfo">
<result name="success" type="tiles">maininfo</result>
<result name="addFundingComment" type="tiles">addFundingComment</result>
<result name="input" type="tiles">maininfo</result>
</action>
maininfo
磁贴显示主窗体 JSP 页面。 addFundingComment
磁贴显示提交评论的表单。
我的问题是,如果验证失败,"input"
结果必须转到 maininfo
拼贴或 addFundingComment
拼贴,但我需要它转到与表单验证失败。
我可以通过将 addFundingComment
JSP 代码放在 maininfo
JSP 代码中并使用 <s:if>
来显示表单 I想要,但我认为有两个单独的 JSP 文件使每个文件都更易于管理和调试。
我想使用一个 Action
以便在用户提交评论时更轻松地保留所有 maininfo
字段更改。
有没有一种方法可以让一个 Action
和 <results>
转到不同的 JSP 页面并且验证失败 return 到相应的 JSP页数?
您可以使用动态结果配置来return相应的视图。动态 属性 是通过 OGNL 评估的,因此您必须创建一个 getter 方法来 return input
结果的位置。
<result name="input" type="tiles">${inputName}</result>
活动中class
public String getInputName() {
String inputName = "maininfo";
if (actionName.equals("addFundingComment")
inputName = "addFundingComment";
return inputName;
}