struts2输入验证的操作步骤

这星期一直学习struts2的输入验证,总结了一下需要进行的操作步骤,欢迎指正。

注:以下采用以声明式验证为主的验证方式。
1、action配置:
如果要利用验证框架进行验证:必须在struts的action配置中,增加一个name=input的result。
即:<result name="input">nationInput.jsp</result>

2、添加类型转换错误提示,用于提示用户输入了错误的数据类型的字段
在action所在包下面新建一个properites文件,名字和对应action的相同 如:NationAction.properites
在该文件中按如下格式类型转换的错误信息提示:
invalid.fieldvalue.+“action中属性的名字”=错误的信息
如:invalid.fieldvalue.nation.persons=人数必须输入数字

3、添加格式验证文件
在action所在包下面新建一个xml文件,名字按如下规则书写:Action类名-Action中要验证的方法的名字-validation.xml
如:NationAction-inputNation-validation.xml 这种写法,标识验证命名中调用指定方法的action
然后书写验证文件。验证文件写法参见例子和struts官方文档。

4、jsp页面
选择好在什么位置显示验证时的提示信息。
用<s:fielderror />来现实提示。注意由于采用了默认的theme会造成错误信息位置变化。
根据选择的验证效果不同,选择相应步骤。

4.1采用服务器端验证,放置好<s:fielderror />即可,不放置也可以有提示信息,和theme有关。如将theme="simple",此时必须加<s:fielderror />。

4.2如果采用客户端验证或ajax验证,一定要为 s:textfield 指定label或者key属性。

如果采用客户端验证: 将validate="true" 添加到s:form属性中即可。

4.3采用ajax(dwr)验证:
先配置好dwr。
然后,在html head 添加:<s:head theme="ajax" />
s:form中添加:validate="true" theme="ajax".
如:<s:form id="update" action="updateNation" method="post"
validate="true" theme="ajax">
由于ajax默认用utf-8传输,如编码设置不当,会出现乱码。

5、编程验证
如果用以上方法不能实现的验证,请采用用编程方式验证。

[b]存在的问题:[/b]
1、未解决验证信息显示位置的问题
2、ajax验证,由于jsp页面采用8859_1导致的乱码问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值