我是 Struts 2 Framework 的新手,我使用 XML 验证文件来验证表单的字段。我的问题是:
- 问:如何将不同的 XML 验证文件应用于一个操作的方法?
您可以使用 Action Alias 命名约定(而不是默认的 Action Class)为 Action 的每个方法创建一个 XML 验证文件。
From the docs http://struts.apache.org/release/2.3.x/docs/validation.html#Validation-HowValidatorsofanActionareFound:
定义验证规则
可以指定验证规则:
- 每个操作类:在名为的文件中
ActionName-validation.xml
- 每个操作别名:在名为的文件中
ActionName-alias-validation.xml
- Action 类实现的继承层次结构和接口:XWork 搜索 Action 的继承树以查找默认值
Action 和接口的父类的验证
实施的
[...]
在此背景下,“Action Alias”是指 Struts 配置中给定的操作名称。通常,名称属性与方法名称匹配,但它们也可能不同。
- 问:我还想对多个操作方法使用相同的 XML 验证文件。
您可以通过多种方式进行。请记住,一个操作应该执行“一个操作”左右,并且单个操作中不应该有太多方法,请注意:
如果您要验证自定义对象(例如,它们的集合)而不是操作中的多个单个字段,则可以使用the Visitor Validator http://struts.apache.org/release/2.3.x/docs/visitor-validator.html。它将要求您放置一个 XML 文件ObjectClassName-validation.xml
在对象文件夹中(而不是在操作文件夹中),并将由验证它的每个操作(或别名)重用。
否则,您可能会弄乱层次结构,使用操作扩展并在每个级别添加一个方法,最终创建多个 XML 验证文件,但这将是矫枉过正并且从根本上是错误的(最好在同一水平)。
然后坚持 Alias 方式、Visitor 方式,并尝试保持较小的操作...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)