Java Struts2不能使用验证吗?
请原谅,我对Struts2很陌生 我创建了一个非常简单的表单,并创建了以下LoginAction-validation.xml:Java Struts2不能使用验证吗?,java,jakarta-ee,struts2,Java,Jakarta Ee,Struts2,请原谅,我对Struts2很陌生 我创建了一个非常简单的表单,并创建了以下LoginAction-validation.xml: <validators> <field name="username"> <field-validator type="requiredstring"> <message key="username.required"/> </field-validator> &
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="username.required"/>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message key="password.required"/>
</field-validator>
</field>
</validators>
我怀疑我可能把validation.xml放错了文件夹,但我不确定正确的位置在哪里。谢谢你的回复 验证xml文件必须与其验证的操作类位于同一Java包中。
在war文件中
LoginAction validation.xml
文件应位于WEB-INF/classes/your\u LoginAction\u包中 验证xml文件必须与其验证的操作类位于同一Java包中。
在war文件中LoginAction validation.xml
文件应位于WEB-INF/classes/your\u LoginAction\u包中 如AleksandrM answer中所述,每个action-validation.xml文件必须位于相应操作的相同位置
Visitor Validator例外,其中object-validation.xml文件必须位于正在验证的对象的同一文件夹中,这不是操作
一些信息:
- 必须为操作定义输入结果
- 当您的字段引发一个或多个验证错误时,您的操作方法(例如execute())不会到达(只有prepare()方法(如果存在)会被执行),因此,如果您总是需要进行一些填充,例如组合框加载,请使用prepare()或session李>
- 要查看JSP中的错误,需要将标记
放入其中
如AleksandrM answer中所述,每个action-validation.xml文件必须位于相应操作的相同位置
Visitor Validator例外,其中object-validation.xml文件必须位于正在验证的对象的同一文件夹中,这不是操作
一些信息:
- 必须为操作定义输入结果
- 当您的字段引发一个或多个验证错误时,您的操作方法(例如execute())不会到达(只有prepare()方法(如果存在)会被执行),因此,如果您总是需要进行一些填充,例如组合框加载,请使用prepare()或session李>
- 要查看JSP中的错误,需要将标记
放入其中
我认为问题在于您的验证。xml
的位置不正确
表示不要将validation.xml文件放在web inf/classes
文件夹中,而是放在
动作类所在的动作包
例如:对于某个操作类,您的包名是com.insert
,而您的类名是
Insert.java
&您的验证文件必须位于名为
Insert validation.xml
然后它将正常工作
Bottom Line Is:action class and validation file should be present in a same package.
我认为问题在于您的验证。xml
的位置不正确
表示不要将validation.xml文件放在web inf/classes
文件夹中,而是放在
动作类所在的动作包
例如:对于某个操作类,您的包名是com.insert
,而您的类名是
Insert.java
&您的验证文件必须位于名为
Insert validation.xml
然后它将正常工作
Bottom Line Is:action class and validation file should be present in a same package.
谢谢但是,我使用Eclipse并将Action类放在默认包下,因此,我将validation.xml放在“build/classes”文件夹中,在那里我可以看到所有编译的Action类。再说一次,运气不好。你能给我一些建议吗?我的建议是:当任何对struts或学习struts的新手使用struts-blank.war文件时。为什么?因为包括目录结构在内的所有内容(库文件)都正确地显示在web内容下,从新的jsp页面开始,您不会感到困惑。获取此链接非常有用,并且仅从该目录获取struts-blank.war文件,直接导入到您的eclipse并开始执行项目。谢谢。但是,我使用Eclipse并将Action类放在默认包下,因此,我将validation.xml放在“build/classes”文件夹中,在那里我可以看到所有编译的Action类。再说一次,运气不好。你能给我一些建议吗?我的建议是:当任何对struts或学习struts的新手使用struts-blank.war文件时。为什么?因为包括目录结构在内的所有内容(库文件)都正确地显示在web内容下,从新的jsp页面开始,您不会感到困惑。获取此链接非常有用,并且仅从该目录中获取struts-blank.war文件,直接导入到eclipse并开始执行项目。