struts2校验框架问题,用来效验的xml文件没有起到效果
这是我建的一个j2ee项目这是loginvalidate.jsp里的代码<formaction="validate"method="post"><s:fielderror...
这是我建的一个j2ee项目
这是loginvalidate.jsp里的代码
<form action="validate" method="post">
<s:fielderror"/>
用户名:<input type="text" name="username"/><br/>
密码:  <input type="text" name="password"/><br/>
<input type="submit" value="提交"/>
</form>
这是struts.xml中的配置
<package name="chapter10web" extends="struts-default">
<action name="validate" class="com.action.LoginValidateAction">
<result name="input">/Hello.jsp</result>
<result>/loginvalidate.jsp</result>
</action>
</package>
这是LoginValidateActionvalidation.xml中的全部代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">16</param>
<message>密码长度应为6-16个字符之间</message>
</field-validator>
</field>
</validators>
问题是我运行loginvalidate.jsp中的代码,什么用户名,密码什么都没填,按道理提交后他应该跳到带有name=input属性的hello.jsp链接,但是他却跳到了loginvalidate.jsp这个链接上来,而且<s:fielderror/>也没有显示出错误 展开
这是loginvalidate.jsp里的代码
<form action="validate" method="post">
<s:fielderror"/>
用户名:<input type="text" name="username"/><br/>
密码:  <input type="text" name="password"/><br/>
<input type="submit" value="提交"/>
</form>
这是struts.xml中的配置
<package name="chapter10web" extends="struts-default">
<action name="validate" class="com.action.LoginValidateAction">
<result name="input">/Hello.jsp</result>
<result>/loginvalidate.jsp</result>
</action>
</package>
这是LoginValidateActionvalidation.xml中的全部代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">16</param>
<message>密码长度应为6-16个字符之间</message>
</field-validator>
</field>
</validators>
问题是我运行loginvalidate.jsp中的代码,什么用户名,密码什么都没填,按道理提交后他应该跳到带有name=input属性的hello.jsp链接,但是他却跳到了loginvalidate.jsp这个链接上来,而且<s:fielderror/>也没有显示出错误 展开
1个回答
展开全部
LoginValidateActionvalidation.xml
文件名错了
改成:
LoginValidateAction-validation.xml
文件名错了
改成:
LoginValidateAction-validation.xml
追问
我的教科书上就是LoginValidateActionvalidation.xml这样写的,改成LoginValidateAction-validation.xml之后果然。。。成功了,这坑爹的教科书啊
追答
前期学习的时候还是要看看书的,后期的话,可以看看struts2给的文档,再深层次的就再看看源码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询