最近由于项目需要,又来了解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的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
struts2.1.6 convertion插件(即注释方式配置)的helloworld 默认调用index()方法 文档说明用struts.xml中标签设置值,好象不用也行 rest插件例子 默认调用 create()方法 struts2.1.6 vistor校验例子 都是我测试例子,...
struts2框架,与mysql连接,实现登录、插入数据到数据库、登录与注册页面实现校验(用户名、密码、地址、电话)。在编写过程中遇到的问题、错误与改正的语句都被注释。遇到的问题通过查资料到解决深有体会。希望对...
XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、config.xml配置文件、javascript校验等。本资源我在学习xdoclet过程中,总结完成的xoclet...
ssh搭建框架 登录注册 内含jQuery校验 用户和部门的增删改查 注释全 好理解
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文件上传的实现原理 ...
b. 配置struts-moduleName.xml; 直接跳转示例; 调用Service示例; c. 开发对应的{EntityName}Action类; 该类必须继承com.hikvision.swdf.xx.BaseAction<{EntityName}>,该Action类有一个关键属性entity,即泛型...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...
此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了hibernate...
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...
SSM课程例题1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...
邮件管理包含附件上传和下载功能,上传文件部分经过了精心设计,如struts2上传最大限制修改,上传拦截器应用,浏览器对上传文件的js校验等等。 解决中文名文件下载问题。 注解详尽。 压缩包内有SQL。
邮件管理包含附件上传和下载功能,上传文件部分经过了精心设计,如struts2上传最大限制修改,上传拦截器应用,浏览器对上传文件的js校验等等。 解决中文名文件下载问题。 注解详尽。 压缩包内有SQL。
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了RESTful风格的url对系统发起http请求,开发更灵活。 3 同时使用了了...