当事务成功之后(调用 persist()、update() 或 remove() 成功后),Home对象会发出一个 org.jboss.seam.afterTransactionSuccess 事件。通过监听这一事件,我们可以在底层实体改变后,刷新查询。如果我们只需要在特定的实体保存、修改或删除后刷新特定查询,我们可以监视 org.jboss.seam.afterTransactionSuccess.<name> 事件(<name> 是实体的名字)。
当一个操作成功时,Home对象可以自动地显示Faces信息,我们可以再一次通过配置来定制信息。
<factory name="person"
value="#{personHome.instance}"/>
<framework:entity-home name="personHome"
entity-class="eg.Person"
new-instance="#{newPerson}">
<framework:created-message>New person #{person.firstName} #{person.lastName} created</framework:created-message>
<framework:deleted-message>Person #{person.firstName} #{person.lastName} deleted</framework:deleted-message>
<framework:updated-message>Person #{person.firstName} #{person.lastName} updated</framework:updated-message>
</framework:entity-home>
<component name="newPerson"
class="eg.Person">
<property name="nationality">#{country}</property>
</component>
或者扩展:
@Name("personHome")
public class PersonHome extends EntityHome<Person> {
@In Country country;
@Factory("person")
public Person initPerson() { return getInstance(); }
protected Person createInstance() {
return new Person(country);
}
protected String getCreatedMessage() { return "New person #{person.firstName} #{person.lastName} created"; }
protected String getUpdatedMessage() { return "Person #{person.firstName} #{person.lastName} updated"; }
protected String getDeletedMessage() { return "Person #{person.firstName} #{person.lastName} deleted"; }
}
但是指定信息最好的方法是把信息置于Seam所知的resource bundle中(在默认情况下,这个bundle叫做 messages )。
Person_created=New person #{person.firstName} #{person.lastName} created
Person_deleted=Person #{person.firstName} #{person.lastName} deleted
Person_updated=Person #{person.firstName} #{person.lastName} updated
这样方便进行国际化,从表现层的角度考虑也保持了代码和配置的整洁。
最后一步是使用 <s:validateAll> 和 <s:decorate> 向页面中添加验证功能,我会把这个留给你们自己去实现。
分享到:
相关推荐
seam_carving代码实现 图像缩放
• 安全验证 - 一个可扩展的、基于JAAS的安全验证层,允许用户to authenticate against any security provider • 身份管理 - 用于管理Seam程序中所涉及的用户及角色的接口 • 权限验证 - 一个应用十分广泛的权限...
seam in action seam in action seam in action seam in action seam in action seam in action seam in action
Seam 是一种业级 企 Java 的应规用程序框架。它的灵感源自下列原 : 只有一种“工具” Seam为 应 业务业业 义 种统 组 你的 用程序中所有的 定 了一 一的 件模型。 Seam组件可能是 态义 关关 态 有状 的,包含与几...
JBOSS_SEAM配置
seam级联菜单例子
seam介绍
JBoss Seam JBoss Seam JBoss Seam
Seam为持久化集成了JPA和Hibernate 3,为轻量化的异步性集成了EJB Timer Service和Quartz,为工作流集成了jBPM,为业务规则集成了JBoss规则,为电子邮件集成了Meldware Mail,为完整的文本搜索集成了Hibernate ...
seam资料seam资料seam资料seam资料seam资料seam资料seam资料seam资料
seam carving的相关代码实现
seam下一代web开发框架
seam 中文文档 pdf 格式 JSF+EJB3.0快速开发框架Seam的中文版向导。。。
Jboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in Action
SeamCarving的C++实现代码,使用opencv库。包含完整项目工程及测试图像,可直接使用
JBOSS SEAM组件中文手册 Seam_2.0_Reference_zh_CN
seam框架需要的所有jar包,支持seam ui组件
seam中的注解总结,包括三种JPA和seam自身的标签
1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码.........................
Seam全称是Jboss Seam,是一个Java EE 5框架。它通过把JSF与EJB3.0组件合并在一起,以及利用JDK5.0的Annotation技术,从而为开发基于Web的企业应用程序提供一个最新的模式。