JavaEE6 FAQs之@Model

2014-11-24 01:22:35 · 作者: · 浏览: 0

1. @Model注 解 的 用 途
@Model注 解 做 了 如 下 的 事 情 :
使 bean拥 有 request-scoped周 期 范 围 (取 代 默 认 的 @dependent)
给 bean一 个 EL命 名
创 建 一 个 请 求 范 围 并 且 赋 予 命 名 的 bean,就 像 一 个 标 注 有 @RequestScoped和 @Named的 类 ,自 从 这 样 的 注 解 组 合 频 繁 的 出 现 在 Web应 用 中 ,CDI就 提 供 了 内 建 的 注 解 @Model方 便 使 用 。
例 1. @Model例 子
@Model
public class SampleBean
{
private String value;
public String getValue() { return value; }
public String setValue(String value) { this.value = value; }
}


现 在 这 个 bean可 以 在 JSF视 图 中 使 用 了 :
例 2.


通 常 如 果 你 想 在 JSF页 面 中 通 过 EL命 名 访 问 bean,你 可 能 需 要 给 类 标 注 @Dependent注 解 。 否 则 ,任 何 通 过 JSF input设 置 的 值 都 会 立 即 失 效 。 这 样 是 为 什 么 CDI提 供 了 @Model类 型 ;它 让 你 给 bean一 个 命 名 ,并 且 一 举 设 置 bean的 周 期 为 @RequestScoped。 如 果 你 确 实 在 @dependent周 期 里 通 过 JSF页 面 中 访 问 一 个 bean,注 入 一 个 不 同 的 bean,通 过 getter方 法 来 保 留 给 EL。
一 个 stereotype是 用 来 聚 合 其 它 注 解 的 注 解 。 @Model是 一 个 CDI内 置 stereotype,定 义 如 下 :
例 3.
@Named
@RequestScoped
@Stereotype
@Target({TYPE, METHOD})
@Retention(RUNTIME)
public @interface Model {}


@Modelstereotype注 解 应 该 频 繁 的 应 用 在 web应 用 中 。