天一博客
天一博客
EasyJF官方博客
我的首页
文章
相册
圈子
留言
管理
 
    当前所在页面:首页>>文章>>EasyJWeb常用注解简介
EasyJWeb常用注解简介
    作者:天一 来源: 发表时间:2008-02-28

 
 

最近发现很多人对easyjweb的注解不太熟悉,因此简单的归纳讲解一下,希望对大家有帮助。

1、@Action

这个在我的文章EasyJWeb注解的使用——简化Action层的开发讲的很清楚了,这里就不做过多说明。

2、@Inject

这个注解,看它的字面意思就知道,是用来注入某个属性的。比如你在某个action中要用到某个service,你就可以给这个属性加上@Inject注解和一个setter方法,就可以注入了。

示例代码:

public class BBSManageAction extends AbstractCmdAction {

	@Inject
	private IBBSDocService service;

	public void setService(IBBSDocService service) {
		this.service = service;
	}
......
}

3、@DisInject

用来指定某个属性不注入,和@Inject相反,通常用在自动注入的情况下。参考:错误“无法加载属性指定名称的Bean”的解决办法

4、@Validator

用来指定所使用的验证器,以及验证方式和错误信息等。

属性介绍如下表:

属 性
描 述
name
验证器的名称,如required,string,range等
value
验证器的值,使用;号作为分隔符存放各个参数。如value="required;min:5;max:20"
msg
默认错误提示信息,当验证无法通过时显示的提示信息
field
字段名称,对于property及field类型的校验均可用,也是错误对象的主属性名称。可以用于多个字段,此时需要使用,隔开
displayName
定义对象的显示名称,默认情况下为field的名称,可以通过@Field中的name属性定义。
type
校验类型,默认是对属性进行校验 可以通过该值来指定验证器作用的对象
required
是否必填字段,每个验证器都可以通过设置属性required=true来指定该属性为必填项
key
多国语言显示建的名称,假如要使提示信息自动支持多国语言属性,则可以通过设置该值达到相应的目的

@Validator通常不单独使用,而是作为@FormPO和@Field的属性来使用,因此具体用法会在后面说明。

5、@FormPO

通常用在domain中,用来指定domain的名称、需要注入的字段、不允许注入的字段、数据验证等,主要功能就是注入和数据验证。

示例代码:

@FormPO(name="person",label="人物",inject="name,bornDate",disInject="id,loginTimes",disRead="bornDate",
	validators={@Validator=(name="required",field="name,bornDate"))
public class Person{
	private Long id;
	private String name;
	private Date bornDate;
	private Integer loginTimes;
......
}

6@Field

指定对象属性的名称、验证器、是否允许直接注入、验证器等信息。

示例代码:

class Person{
	@Field(name="姓名",validator=@Validator(name="string",required=true;value="blank;trim;min:5;max:10"))
	private String name;

	private Date bornDate;

	@Field(name="出生日期")
	public Date getBornDate()
	{
		return bornDate;
	}
}

7、@POLoad

该标签用来加载关联。在EasyJWeb中提供了一个非常实用的方法把Form中的数据传入模型(域)对象中,toPo过程中,我们可以把前台表单中的普通类型的属性值传入到模型对象中。但对于一些关联对象,我们在表单中只能存放关联对象的id,而在赋值的时候需要通过这个id从业务(或持久)层中加载这个对象,然后设置到指定的属性中,此时可以使用POLoad这个标签,他可以处理这个自动关联。

示例代码:

public class BBSDir
{
	private Long id;

	private String title;
}

public class BBSDoc
{
	@Id
	private Long id;

	private String title;

	@POLoad(name="dirId")
	@ManyToOne
	private BBSDir dir;
  
}

以上这些是常用的注解,灵活使用会给开发带来很多便利。另外还有一些,使用不是很频繁的这里就不做说明了。以后会有更详细的相关文档发布,再做详细说明。 

 

 
 

(阅读 )   评论数(:2)
评论】 【收藏】
评论:共2条
这几个注解的注释很详细,大家可以看看代码注释或者在线api文档。
评论人: 天一     评论时间: 2008-02-28 11:23:47
评论人: 匿名用户     评论时间: 2008-03-02 11:22:27

发表评论:
发表人:
评论: 
验证码:
请输入前面图中的四位验证码,字母不区分大小写
  
 
关于我们 | 诚聘英才 | 联系我们 | 广告业务 | 网站地图 | 法律声明

EasyJF开源团队版权所有  建议使用1024*768分辨率