Strutst2为我们提供了一个很好输入校验的方式,把这些交给Struts2处理相对不容易出错,也变得简单。那我们就来学学怎么用吧。
验证方式主要分为两种形式:在XxxAction中执行验证和起用Struts2的验证框架
1:如果存在 Action或 Field错误, Struts2 会返回“ input",所以我们一定要配置 <result name="input"> /toyourpage.jsp</result>
2:在错误输出页面,用<s:fielderror / >,<s:fielderror key="xxx"/>, <s:actionerror/> 显示错误信息
3:在操作成功的输出页面,用<s:actionmessage/> 显示成功信息
4:不管是成功还是失败页面,都可以用<s:property value="xxx" /> 来取得login.jsp表单的值
5:假设注册页面为regist.jsp
当用户输入了错误的信息后,将返回到当前的页面,并给出提示信息,当成功的话,跳转到result.jsp页面,并显示成功的提示信息,并将用户输入的信息显示出来,struts.xml配置如下
RegistAction的验证代码如下:
result.jsp为最终成功后跳转的页面:
那么我们现在做一下测试吧,当我什么都不输入的情况下点击注册,看看他会提示什么信息呢?
看到了吧?提示这三个东西都得输入值。int的属性,在数据转换的时候struts2会将转换出错的值转换为0的。
那如果我在age里输入字母呢?试试看。
结果第一行的提示信息和第二行的重复了,那第一行的信息是从哪里来的呢?struts2有一个机制,当转换出错后他会自己处理并添加错误信息,那么我们要做的就是重写这个提示信息或者不显示这个提示信息。
参考文章:XXX