seam

用于双向注入的注解

注解

用法

说明

@In

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportLists]-->●<!--[endif]-->value — 指定上下文变量名。默认是组件属性名。可选地,指定一个JSF EL表达式,放在 #{...} 符号中。

<!--[if !supportLists]-->●<!--[endif]-->create — 指定若上下文变量名在所有上下文中均未定义,Seam应该创建一个组件作为上下文变量,名字即为所要求的名字。默认为false。

<!--[if !supportLists]-->●<!--[endif]-->required — 指定若上下文变量名在所有上下文中均未定义,Seam应抛出异常。

@In

在每次组件调用开始时,从上下文变量注入组件属性。如果上下文变量是null,那么一个异常将被抛出。

@In(required=false)

在每次组件调用开始时,从上下文变量注入组件属性。上下文变量可以是null。

@In(create=true)

在每次组件调用开始时,从上下文变量注入组件属性。如果上下文变量是null,那么Seam实例化这个组件。

@In(value="contextVariableName")

显式指定上下文变量的名字,而不再使用注解定义的实例变量名。

@In(value="#{customer.addresses['shipping']}")

在每次组件调用开始时,用一个JSF EL表达式的计算结果来注入组件属性。

@Out

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportLists]-->●<!--[endif]-->value — 指定上下文变量名。默认为组件属性名。

<!--[if !supportLists]-->●<!--[endif]-->required — 指定若注射出时组件属性为null,Seam应抛出异常。

@Out

在调用结束后注射出Seam组件属性到上下文变量。若属性为null,则抛出一个异常。

@Out(required=false)

在调用结束后注射出Seam组件属性到上下文变量。属性可以为null。

@Out(scope=ScopeType.SESSION)

在调用结束后注射出非Seam组件属性到指定scope。或者,若没有明确指定scope,则使用此 @Out 属性所属组件的scope。(如果此组件是无状态的,则使用 EVENTscope 。)

@Out(value="contextVariableName")

显式指定上下文变量名,而非使用注解中指定的实例变量名。

@Unwrap

<!--[if !supportEmptyParas]--> <!--[endif]-->

支持 管理器组件(manager component) 模式,在该模式中一个Seam组件管理一些其他将被注入的class实例的生命周期。它在组件的getter方法中出现。

@Unwrap

指定注解的getter方法返回的对象是被注入的,而非组件实例本身。

@Factory

<!--[if !supportEmptyParas]--> <!--[endif]-->

支持 工厂组件(factory component) 模式,在该模式中,一个Seam组件负责初始化上下文变量值。 如果出现非faces的request,在渲染response的时候,它用于初始化所需要的状态特别有用。它出现在组件方法中。

<!--[if !supportLists]-->●<!--[endif]-->value — 指定上下文变量值。若为getter方法,默认为JavaBean属性名。

<!--[if !supportLists]-->●<!--[endif]-->scope — 指定Seam应绑定返回值的作用域。仅针对于返回一个值的工厂方法有意义。

<!--[if !supportLists]-->●<!--[endif]-->autoCreate — 无论什么时候请求变量,此工厂方法将自动被调用,即使@In未指定create=true。

@Factory("processInstance")

public void createProcessInstance() { ... }

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

说明当上下文变量没有值时,此组件的方法被用来初始化上下文变量值。它用于返回值是 void 的方法。

<!--[if !supportEmptyParas]--> <!--[endif]-->

@Factory("processInstance", scope=CONVERSATION)

public ProcessInstance createProcessInstance() { ... }

声明方法返回一个值,当上下文变量没有值时Seam应使用此值初始化命名上下文变量值。它用于返回一个值的方法。 若没有指明scope,则使用 @Factory 方法所在组件的scope(除非组件是无状态的,则使用 EVENT 上下文)。

@Logger

<!--[if !supportEmptyParas]--> <!--[endif]-->

该注解让你注入一个 日志(Log)

@Logger("categoryName")

<!--[if !supportEmptyParas]--> <!--[endif]-->

value — 指定日志category。默认是组件类名。

使用 org.jboss.seam.log.Log 的实例注入一个组件字段。对于Entity Bean,该字段必须声明为static。

@RequestParameter

<!--[if !supportEmptyParas]--> <!--[endif]-->

该注解让你注入一个request参数值

@RequestParameter("parameterName")

<!--[if !supportEmptyParas]--> <!--[endif]-->

value —指定request参数名。默认为组件属性名。

将request的参数值注入组件属性。基本类型的转化被自动地完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值