`

struts 2 注解 校验参数

阅读更多

最近由于项目需要,又来了解Struts2注解。

在我们头得正确领导下,还是把这个东西弄出来了。大家一起参考下。

 

/**
 * @fun
 * @author summer
 * @date 2011-8-8 15:45:41
 * @remark
 */
@ParentPackage("json-default")
@Namespace("/struts/test")
@Results({
    @Result(name="success",location="/sp/test/result.jsp"),
    @Result(name="input",location="/bjsp/test/error.jsp"),  //拦截不符合条件,默认返回input
    @Result(name="test2",type="json",params={"root","test"})
})
@Validation()
public class TestAction{

    /**
     *
     */
    private static final long serialVersionUID = 1L;
   
    private TestEntity test = new TestEntity();

    @Action(value="validate_test1",params={"test.flag","1"})
    public String test1(){
        System.out.println("***************test1*************");
        return SUCCESS;
    }
    @Action("validate_test2")
    @SkipValidation  //该方法使用实体类时不使用校验
    public String test2(){
        System.out.println("***************test2*************");
        return "test2";
    }

    @VisitorFieldValidator() //用实体类获取数据时开启验证
    public TestEntity getTest() {
        return test;
    }

    public void setTest(TestEntity test) {
        this.test = test;
    }

}

 

 


/**
 * @fun 实体类
 * @author summer
 * @date 2011-8-8 15:50:46
 * @remark
 */

@Entity
@Table(name="TBL_TEST",schema="summer")
public class TestEntity implements java.io.Serializable{

    /**
     *
     */
    private static final long serialVersionUID = 1L;

    private Long id;
    private String name;
    private String email;
    private String phone;
    private String memo;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="SUMMER.AUTO_ID")
         @SequenceGenerator(name="SUMMER.AUTO_ID",sequenceName="SUMMER.AUTO_ID",allocationSize=1,initialValue=1)

@Column(name="TBTE_PK")
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    @Column(name="TBTE_NAME")
    public String getName() {
        return name;
    }
    @RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for name.")
    @StringLengthFieldValidator(minLength="6",maxLength="32",shortCircuit =true,trim = true, message = "name length must be between ${minLength} and ${maxLength}, current is ${name.length()}.")//判断长度
    public void setName(String name) {
        this.name = name;
  
    @Column(name="TBTE_EMAIL")
    public String getEmail() {
        return email;
    }
    @RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for Email.")
    @EmailValidator(message = "Email 格式不对")//email校验
    public void setEmail(String email) {
        this.email = email;
    }
    @Column(name="TBTE_PHONE")
    public String getPhone() {
        return phone;
    }
    @RequiredStringValidator(type = ValidatorType.FIELD, message = "You must enter a value for phone.")//不能为空
    @RegexFieldValidator(expression="13\\d{9}",message="电话号码不对")//电话号码校验
    public void setPhone(String phone) {
        this.phone = phone;
    }
   
    @Column(name="TBTE_MEMO")
    @JSON(serialize = false)
    public String getMemo() {
        return memo;
    }
    public void setMemo(String memo) {
        this.memo = memo;
    }
   
   
}

分享到:
评论

相关推荐

    自定义校验注解框架(validator)

    自定义注解参数校验框架,根据项目开发中参数校验情况手写一套框架,供大家学习参考使用。可以直接运用在项目中,如果漏洞请留言,小编会第一时间修复,如果好用请给个好评,谢谢。

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    struts2.1.6 convertion,rest两插件的例子

    struts2.1.6 convertion插件(即注释方式配置)的helloworld 默认调用index()方法 文档说明用struts.xml中标签设置值,好象不用也行 rest插件例子 默认调用 create()方法 struts2.1.6 vistor校验例子 都是我测试例子,...

    struts2做的登录系统与mysql连接

    struts2框架,与mysql连接,实现登录、插入数据到数据库、登录与注册页面实现校验(用户名、密码、地址、电话)。在编写过程中遇到的问题、错误与改正的语句都被注释。遇到的问题通过查资料到解决深有体会。希望对...

    xdoclet1 xdoclet1 spring3.0.5、struts1.3、struts2.1、 servlet

    XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、config.xml配置文件、javascript校验等。本资源我在学习xdoclet过程中,总结完成的xoclet...

    (sturts2+hibernate+spring+mysql+jquery)人事管理系统 登录注册 用户部门增删改查

    ssh搭建框架 登录注册 内含jQuery校验 用户和部门的增删改查 注释全 好理解

    Java Web程序设计教程

    6.3.3应用struts2输入校验框架 128 6.3.4自定义校验器 130 6.4国际化 131 6.4.1国际化实现原理 131 6.4.2准备国际化资源文件 131 6.4.3调用国际化资源文件 134 6.5上传和下载 135 6.5.1文件上传的实现原理 ...

    java命名规范 开发规范

    b. 配置struts-moduleName.xml; 直接跳转示例; 调用Service示例; c. 开发对应的{EntityName}Action类; 该类必须继承com.hikvision.swdf.xx.BaseAction<{EntityName}>,该Action类有一个关键属性entity,即泛型...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统数据库.rar

    此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate...

    基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统,内附,教程,数据库脚本

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

    SSM示例代码

    SSM课程例题1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    ssh实现的OA系统

    邮件管理包含附件上传和下载功能,上传文件部分经过了精心设计,如struts2上传最大限制修改,上传拦截器应用,浏览器对上传文件的js校验等等。 解决中文名文件下载问题。 注解详尽。 压缩包内有SQL。

    ssh实现的OA系统(无jar版)

    邮件管理包含附件上传和下载功能,上传文件部分经过了精心设计,如struts2上传最大限制修改,上传拦截器应用,浏览器对上传文件的js校验等等。 解决中文名文件下载问题。 注解详尽。 压缩包内有SQL。

    SSM框架的图书管理系统(新增登录注册下载功能)

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

    员工管理系统

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

    双鱼林SSM图书信息管理系统.zip

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

    基于SSM框架图书信息管理系统(源码+运行截图+系统说明+数据库).zip

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...

Global site tag (gtag.js) - Google Analytics