seam文档原始内容
对话组件有一个小小的限制:它们不能够被用来保存对JSF组件的绑定。 (除非绝对必要,否则我们通常不喜欢使用JSF的这个特性,因为它创建了从应用程序逻辑到视图的强依赖关系。) 在一个postback请求中,组件绑定会在视图恢复阶段中且在Seam对话上下文恢复之前被更新。
为了解决这个问题,使用一个事件范围的组件来保存组件绑定,并将它注入到需要它的对话范围组件中。
@Name("grid")
@Scope(ScopeType.EVENT)
public class Grid
{
private HtmlPanelGrid htmlPanelGrid;
// getters and setters
...
}
@Name("gridEditor")
@Scope(ScopeType.CONVERSATION)
public class GridEditor
{
@In(required=false)
private Grid grid;
...
}
解释
组件绑定会在视图恢复阶段去调用组件属性的setget方法,这样就会触发@in注释,导致not null异常。
分享到:
相关推荐
JSF中文教程将帮助开发者了解其基本概念、组件使用、事件处理和数据绑定等核心功能,从而能够快速上手开发基于JSF的应用。 **RichFaces** RichFaces是基于JSF的一个扩展库,提供了许多富客户端组件和AJAX功能。这些...
1. **数据绑定**:Seam支持JSF的数据绑定,使得JSF组件可以直接绑定到 Seam managed beans上的属性,这简化了视图和模型之间的通信。 2. **事件处理**:Seam扩展了JSF的事件处理机制,允许开发者定义更复杂的业务...
在JSF项目中配置Seam,可以充分利用其优势,如组件管理、对话管理、事件处理等。 首先,配置Seam的关键在于以下几个方面: 1. **阶段监听器配置**:在`faces-config.xml`中添加`SeamPhaseListener`。这是Seam启动...
- **EL表达式的支持:**JSF中的EL表达式使得数据绑定更加简便。 - **直接访问Bean:**在JSF中,可以通过名字直接访问Bean,减少了额外的操作。 - **POJO管理Bean:**JSF的管理Bean本身就是POJO,易于理解和使用。 - ...
可以利用JSF2的组件库快速构建基本的用户界面,再借助Seam的事件和对话管理能力来处理购物过程中的复杂逻辑。 通过以上知识点的介绍,我们可以看出,《Beginning JSF2 APIs and JBoss Seam》不仅涵盖了JSF2和JBoss ...
4. **数据绑定**:Seam与JSF紧密集成,使得数据模型可以直接与用户界面元素进行双向绑定,简化了数据管理。 5. **安全性和事务管理**:Seam提供了内置的安全管理和事务处理机制,简化了这些关键领域的实现。 然后...
Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................
Seam提供了统一的编程模型,允许开发者在JSF组件和后端服务之间轻松切换,同时还提供了AOP(面向切面编程)和规则引擎等功能,使得业务逻辑的编写更为简洁高效。 在Seam_2.0_Reference_zh_CN.pdf这份文档中,你将...
Seam将JSF的功能扩展到了一个新的层次,它提供了更灵活的数据绑定,允许直接在JSF组件和 Seam 组件之间进行双向绑定。此外,Seam引入了Contexts and Dependency Injection (CDI)的概念,这使得依赖注入可以在JSF环境...
4. **集成JSF**:Seam 与JSF深度集成,提供了增强的JSF组件库和更强大的页面导航,简化了前端界面的开发。 5. **数据绑定和验证**:Seam 提供了强大的数据绑定和验证机制,使得数据模型和用户界面之间的交互变得...
除此之外,Seam UI组件扩展了JSF的功能,提供了一系列高级组件和功能,如数据绑定、国际化、验证和转换等。这些组件通常以`.jar`文件形式存在,例如`seam-components.jar`,包含了各种UI相关的组件和工具。 还有...
2. **生命周期**:JSF组件有一个明确的生命周期,包括初始化、处理请求、应用转换和验证、更新模型值、以及渲染响应等阶段。 3. **表达式语言(EL)**:JSF支持使用EL来访问后台Bean中的属性和方法,简化了视图与...
5. **Seam与JSF的整合**:展示如何通过Seam实现JSF组件的扩展和增强,以及数据绑定和事件处理。 6. **Seam的其他特性**:如Infinispan缓存支持、FacesContext的扩展、国际化的处理等。 7. **实战例子**:提供具体的...
总的来说,这个“seam级联菜单例子”展示了如何在Seam环境中结合Ajax技术和JSF组件创建动态的、交互式的用户界面。通过理解这个例子,开发者可以更好地掌握Seam框架在实际项目中的应用,特别是对于构建复杂的、数据...
通过Seam-gen可以方便地创建包含业务逻辑的表单组件,这些表单可以直接绑定到Seam组件上,实现数据的收集和验证等功能。 **2.5 从现有数据库生成应用程序** Seam-gen还支持从现有的数据库模式自动生成Seam应用的...
`@ConversationScoped` 注解可以将组件绑定到特定的对话中。 **4. CDI扩展** Seam 2.0 基于JSR-299(后来演变为JSR-346,即现在的CDI规范),并扩展了它的功能。例如,Seam引入了`@Name` 注解,允许在没有...
- **JSF和Seam的集成**:讲解如何在JSF页面中使用Seam组件,以及如何绑定JSF组件到业务逻辑。 - **持久性**:详细阐述Seam如何与JPA集成,以及如何进行数据访问和对象关系映射。 - **安全性**:描述Seam的安全特性和...
就像Struts框架一样,JSF定义了一套JSF标签,能够生成与JavaBean属性绑定在一起的HTML表单元素。从应用开发者的角度看,两种框架十分相似,但是JSF可能会得到更多的支持,因为JSF是Java的标准。在未来的发展中,有...
通过Seam,你可以轻松地将后端服务与JSF组件绑定,实现数据的双向绑定,使得前端与后端的交互更为便捷。 在本书中,作者不仅详细解释了Seam的理论知识,还提供了丰富的实例,帮助读者理解和实践。即使是英文版,书...
它通过整合JSF(JavaServer Faces)与EJB 3.0(Enterprise JavaBeans 3.0)组件,并充分利用JDK 5.0中的注解技术,为开发人员提供了构建复杂Web应用的新模式。Seam旨在简化企业级应用的开发过程,同时提高应用的可...