`

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;
    }
   
   
}

分享到:
评论

相关推荐

    Struts2 校验器

    3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...

    struts2输入校验

    - **使用JSR 303/JSR 349 Bean Validation**:Struts2也支持使用JSR 303(JavaBeans Validation)或JSR 349(Bean Validation 1.1)标准的注解进行校验。这些注解可以直接在Action类的字段上声明,如`@NotNull`, `@...

    struts2输入校验深入总结

    Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别校验 Action级别校验是在Action类中定义校验逻辑,通常通过在Action类的属性上添加注解实现...

    Struts2的输入校验

    在Struts2中,输入校验是确保数据安全、准确和有效的重要环节。本篇文章将深入探讨Struts2的输入校验机制及其相关知识点。 **输入校验的重要性** 输入校验是Web应用开发中的关键步骤,它可以防止恶意用户提交无效或...

    Struts2校验框架应用

    Struts2提供了注解`@Valid`和一系列的校验注解,如`@NotBlank`, `@Size`, `@Min`, `@Max`等。例如: ```java public class UserAction { @NotBlank(message = "用户名不能为空") private String username; @...

    Struts2自定义校验框架

    使用Struts2的`@Validated`注解标记Action类,表明需要进行数据校验。 5. **校验结果处理** 当数据校验失败时,Struts2会自动将错误信息放入ActionContext,可以通过`ActionContext.getErrorMessages()`获取这些...

    struts2的数据校验

    Struts2提供了多种数据校验方式,包括基于注解的校验、基于XML配置的校验和自定义校验。 1. **基于注解的校验**: Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean ...

    Struts2 输入校验

    Struts2提供了多种进行输入校验的方式,包括Action级别校验、Validator框架校验、拦截器校验以及使用JSR303/JSR349 Bean Validation标准。这些方法可以单独使用,也可以结合使用,以满足不同项目的需求。 1. Action...

    struts2 短路校验(客户端校验)

    在Struts2中,数据校验是保证应用程序数据质量的重要环节。短路校验,也称为客户端校验,是一种优化用户体验的策略,它在用户提交表单前就在浏览器端进行数据校验,如果发现错误,会立即反馈给用户,避免了不必要的...

    Struts2的校验框架

    Struts2默认支持基于XML的`struts-plugin.xml`和基于注解的`@Validated`方式来定义校验规则。 3. **校验配置文件**:XML校验文件(如`validation.xml`)用于定义字段的验证规则,例如: ```xml 用户名不能...

    struts2登陆校验

    综上所述,"struts2登陆校验"涉及到Struts2框架的用户输入验证机制,包括XML配置和注解方式的校验规则定义,以及动态校验和错误处理机制。理解并熟练运用这些知识,可以有效地确保登录过程的安全性和用户体验。在...

    struts2 数据校验

    在Spring和Struts2联合使用时,可以利用Spring的`@Validated`注解来进行数据校验,结合Struts2的验证机制,提供更灵活的验证方案。 总结,Struts2的数据校验功能强大且灵活,通过XML配置或注解方式定义验证规则,...

    Struts 2 数据校验功能及校验问题的解决方案

    Struts 2的数据校验还可以通过注解方式进行,使用@FieldCheck、@Validations等注解来指定字段的校验规则。这种方式更加直观,减少了代码量,但可能需要额外的库支持。 为了处理更复杂的数据校验场景,Struts 2支持...

    struts2 简单数据校验

    - 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...

    Struts2数据校验

    Struts2的数据校验主要通过Action类的属性注解和Validation.xml配置文件来实现。开发者可以使用注解的方式在Action类的属性上直接定义校验规则,例如`@NotEmpty`用于检查非空,`@Size(max=10)`用于限制字符串长度等...

    struts2 对action中的所有方法进行校验

    对于动态或者复杂的数据校验需求,Struts2允许在运行时根据不同的请求参数选择不同的校验规则。这可以通过在validate()方法内进行条件判断来实现。 4. 国际化: Struts2支持国际化校验错误消息,只需在资源文件...

    Struts2简单数据校验源码 20120417

    - 开发者可以创建自己的校验注解,实现特定的校验逻辑,这需要实现`Validator`接口并注册到Struts2的校验框架中。 7. ** strut2-dojo-plugin集成** - Struts2还提供了与Dojo JavaScript库的集成,可以实现客户端...

    struts2注解必须包

    "struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...

Global site tag (gtag.js) - Google Analytics