Struts 2validationxml中的特定操作
我想仅在动作类中validation特定方法。 行动方法是这样的。
public String add() throws Exception { // aflag = true; org.setAoName(aoName); orgBo.addOrg(org); orglist = orgBo.searchOrg(organisationSearch); setAoName(""); setAflag("viewaddorgs"); return "add"; }
问题是目前我在动作类中有很多动作方法。 当我调用这些方法时,它会validation此方法。 请帮我用xmlvalidation这个方法。
这是我的OraganisationAction-validation.xml
:
The name is required! The name is required!
这是我的jsp:
struts xml
:
secondTemplate orgTemplate orgAddTemplate orgAddTemplate orgAddTemplate orgAddTemplate orgTemplate orgTemplate orgEditTemplate orgEditTemplate orgEditTemplate orgTemplate orgViewTemplate
它适用于注释,但xml尚未成功。
要从validation中排除某些方法,您可以覆盖validation
拦截器的参数。 例如,在拦截器堆栈中,您可以编写
input,back,cancel,browse,yourmethod
在动作配置中,您可以使用上面的代码和
input,back,cancel,browse,yourmethod
注意yourmethod
的方法是一个方法名称。
您可以通过此文件中的操作名称的后缀仅为一个操作指定validation.xml
。 例如, AcrionClass-add-validation.xml
仅适用于操作配置中的操作名称add
。 注意这里add
是一个动作名称,而不是方法名称。
通常,name属性与方法名称匹配,但它们也可能不同。
我遇到了类似的问题但是这些是我纠正的几件事:
1)yourAction-yourAlias-validation.xml中的DOCTYPE应该是
2)创建一个自定义拦截器来排除不需要validation的方法。下面是我的候选人注册的样本,我必须跳过区域方法的validation,该方法获取州的区域。
input,district /jsps/student/studentregistration.jsp /jsps/student/registrationfailure.jsp /jsps/login.jsp /jsps/includes/dropdown_districts_regoffice.jsp
使用操作别名:将不同的Action方法映射到struts.xml中的不同操作别名,而不是单个yourAction-validation.xml
文件,为要为其执行的validation器添加yourAction-yourAlias-validation.xml
方法而已。
在这里阅读更多 。
编辑
现在没有任何validation。
You cannot leave the aoName address field empty. name是
OraganisationAction-add-validation.xml
并将其与动作类包放在一起。 有没有什么可以在struts.xml中启用validation?
如果您具有正确配置(例如默认)拦截器堆栈,则已启用validation。 如果您使用的是名为OraganisationAction-add-validation.xml
的文件,则表示:
- 你的行动CLASS必须命名为
OraganisationAction.java
; -
您在struts.xml中的操作映射必须如下:
yourResult.jsp
查找拼写错误,检查拦截器堆栈,它会自动运行。