struts validator例子

1 篇文章 0 订阅
本文假设你已经:
1、工程中引入了struts的主要包
2、希望使用“注解”来配置页面跳转、validator,而不是xml文件

本文的例子:productId是Action中的一个属性,需要检验:它是非空的。如果校验失败,跳转至一个页面


开始了哈~
@Results({ @Result(name = "input", location = "/para-error.jsp") })
public class ProductAction extends ActionSupport

一、Action中的配置
1、配置validator校验器
action中的productId需要有set、get方法,同时,在set方法上面加上注解
@RequiredStringValidator(key = "productId.requried")
     public void setProductId(String productId)
     {
          this.productId = productId;
     }
RequiredStringValidator代表是一个“非空”校验,struts还提供了其他很多种类的校验器。key表示校验出错时的提示语,会映射到productId.requried对应的内容,productId.requried怎么配置,下面第三点会讲到

2、配置校验失败时的页面跳转
在Action头加入跳转逻辑


校验器校验失败时,默认都会跳到input对应的页面(对result、name这些没概念,就google一下),因此,当result name为input时,我们把它定向到prara-error.jsp这个页面,这是我们自己生成的一个页面

二、校验出错提示的JSP页面
在WebRoot目录下,创建一个jsp页面,重命名为prara-error.jsp
1、在jsp头部引入struts tags
<%@ taglib prefix="s" uri="/struts-tags"%>
2、在html body中加入s:fielderror
html body如下:
  <body>
    <s:fielderror/> <br>
  </body>

struts将自动将s:fielderror填充为校验出错的对应提示语

三、校验出错的提示语
1、在struts.xml中配置,将国际化资源文件指向mess.properties
<constant name="struts.custom.i18n.resources" value="mess"></constant>

2、在src目录中创建mess.properties,并指定productId.requried对应的值
例如我的mess.properties如下:
productId.requried=productId不能为空

最后,我们来看看,当检验失败时,页面的截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值