`
isiqi
  • 浏览: 16578246 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JSF2 ManagedBean使用注意事项

阅读更多

1ManagedBean命名

建议ManagedBean命名规则采用*MB.java,让大家一看就知道MB结尾的class都是Managed Bean。当然,有特定code guide line的话,另当别论。

2、建议使用Anotation

采用Anotation来标识该Class是否Managed Beanscope,可以大大提高开发人员的开发效率,且具备统一的Managed Bean name。例如:

@ManagedBean

@SessionScoped

public class DemoMB implements Serializable{ … }

3、外部资源的访问,如service、其它Managed Bean

如果Managed Bean需要访问service,其它Managed Bean等,则建议使用@ ManagedProperty进行注入,如:

@ManagedProperty(value="#{demoService}")

private Service demoService;

4、充分利用Managed Bean 2个比较有用的生命周期方法

1@PostConstruct, Managed Bean实例创建完毕之后,会调用@PostConstruct标注的方法,在该方法中可以处理Managed Bean的初始化工作;

2@PreDestroyManaged Bean实例销毁前,会调用@PreDestroy标注的方法,在该方法中可以清理相关资源。

5、合理使用Scope

每个Managed Bean都有其Scope,不同的Scope适用于不同的应用场景。因此,我们一定要合理使用Scope。对于scope话题,我会另作讨论。

6、如何强制初始化Managed Bean

网上看到很多类似how to initialize a managed bean in force的话题,其实Jsf并没有给我们提供强制初始化Managed Bean的处理方法,但是我们可以变通实现。

首先,我们要搞清楚Jsf何时会初始化Managed Bean?当xhtml页面中有某个EL使用到了该Bean或者该Bean被另外正在初始化bean依赖的时候,jsf就会自动给我们创建该Managed Bean的实例,并加入Managed Bean的生命周期管理。因此,只要我们可以编程实现EL表达式求解即可实现对其它Managed Bean的调用,及Managed Bean的初始化。如:

ELContext elContext = context.getELContext( );

Application application = context.getApplication( );

String userid = (String) application.evaluateValueExpressionGet(context,

"#{userBean.userid}",String.class);

此段代码即实现了对userBean.userid的求解,假设此时userBean并未初始化,那么通过调用表达式的求解,jsf会自动做2件事情:

1)初始化userBean

2)获取userid的值。

分享到:
评论

相关推荐

    JSF 资源 managed bean 课件

    - **使用EL表达式引用Bean**:通过`#{beanName.propertyName}`语法可以在JSF页面中引用Bean的属性。 - **数据绑定**:可以直接将表单字段与Bean的属性进行绑定,从而简化数据处理流程。 - **事件监听**:可以定义...

    第9章 JSF的托管Bean和国际化课件及源程序

    在JSF中,可以使用`@ManagedBean`或`@Named`注解来声明一个Bean,然后通过EL(Expression Language)在页面上引用它。例如: ```java import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped...

    JSF 2 + Spring 3 integration example

    - 使用 `@ManagedBean` 和 `@ViewScoped` 或其他范围注解在 JSF 中定义 Managed Bean。 - 在 Spring 配置文件中,通过 `@Component` 或 `@Service` 注解将这些 Managed Bean 注册到 Spring 容器,并使用 `@Scope` ...

    flux-jsf:Flux JSF 2 托管 Bean 示例

    Flux 可以实现为 JSF 2 Managed bean,它允许用户从他们的 UI 组件调度或管理工作流。 将flux.jar 部署到您的本地maven 存储库 mvn install:install-file -DgroupId=flux -DartifactId=flux -Dversion=8.0.10 -...

    JSF2新特性以及配置

    5. **Managed Bean注解支持**:JSF2支持使用`@ManagedBean`和`@ViewScoped`等注解来声明和管理Bean,简化了代码并增强了可读性。 6. **CDI集成**:JSF2与Java EE的Contexts and Dependency Injection (CDI)框架集成...

    jsf+spring 的 配置文件

    2. **JSF Managed Beans**:JSF中的Managed Bean是应用程序的主要组件,它们负责处理用户的请求并更新视图。在JSF的配置文件(如`faces-config.xml`)中,我们定义Managed Bean的名称、范围和实现类。当与Spring结合...

    采用 JSF +后台Bean开发 大学学生管理系统

    - 编写后台Bean(Managed Bean)处理业务逻辑,实现数据的CRUD操作。 - 连接MySQL数据库,编写SQL语句实现数据的增删改查。 5. **测试**:单元测试、集成测试和系统测试,确保所有功能正常工作。 6. **部署**:...

    jsf实现登录功能

    `@ManagedBean`注解标识这个类是一个JSF Managed Bean,`@SessionScoped`表示这个Bean的实例将在整个会话期间保持活跃。`login()`方法是当用户点击登录按钮时调用的,其中`validateCredentials()`是验证用户名和密码...

    通过JSF受管Bean操作数据库.doc

    通过JSF受管Bean操作数据库

    jsf中文使用教程jsf中文使用教程

    2. **Managed Bean**:Managed Bean是JSF中的核心组件,用来存储和处理数据。 3. **Navigation Handler**:负责处理页面间的跳转。 4. **Converter和Validator**:Converter转换数据类型,Validator验证用户输入。 ...

    JSF2整合Spring3------JSF学习笔记4

    要在JSF Managed Bean中使用Spring bean,我们需要使用`@ManagedProperty`注解,并指定Spring bean的ID。例如,在JSF的Managed Bean `UserBean`中注入`UserService`: ```java import javax.faces.bean.Managed...

    JSF+spring+hibernate整合实例

    在JSF与Spring整合的情况下,JSF的Managed Bean可以直接使用由Spring管理的Bean。当JSF在自己的上下文中找不到所需的Bean实例时,它会去Spring的ApplicationContext中查找。这种方式允许我们利用Spring的强大功能,...

    jsf2+spring sample

    通过配置,可以让JSF2的Managed Bean自动从Spring容器中获取,实现依赖注入。 3. **数据绑定**:JSF2的EL表达式可以直接引用Spring Beans中的属性,实现视图与模型的数据绑定。 4. **服务层和持久层的整合**:...

    jsf动态创建按钮绑定

    7. **使用CDI**:虽然例子中使用了JSF的 Managed Bean,但现代的JSF应用更多地倾向于使用CDI(Contexts and Dependency Injection)进行组件管理。你可以将Managed Bean替换为CDI Bean,并利用它的特性,如依赖注入...

    Netbeans 开发 JSF 2.0 入门学习,使用Primefaces 及JPA

    通过定义一个带有JSF注解(如`@ManagedBean`和`@ViewScoped`)的Java类,你可以创建一个Managed Bean,其中包含处理用户请求的方法。这些方法可以调用JPA操作,处理数据,并通过EL(表达式语言)将结果传递给视图。 ...

    JSF入门+JSF web实战+JSF2

    本系列资料包括《JSF入门》、《JSF Web应用实战开发》和《JSF2》,旨在帮助初学者快速掌握JSF的核心概念和技术。 《JSF入门简体中文版》是学习JSF的基础,它涵盖了JSF的基本架构、组件库、生命周期和事件处理等方面...

    JSF2中Navigation的配置

    在JSF2中,我们可以通过在`@ManagedBean`注解上使用`@ViewScoped`或`@SessionScoped`等来控制bean的生命周期,进而影响导航。例如,如果一个bean是视图作用域,那么当导航发生时,该bean会被销毁;如果是会话作用域...

    MyEclipse2014搭建JSF项目实例源码

    6. **绑定组件和Bean**:在JSF页面中,通过EL(Expression Language)将JSF组件与Managed Bean的属性绑定。例如,`<h:inputText value="#{bean.property}" />`。 7. **配置 faces-config.xml**:此文件定义了JSF的...

Global site tag (gtag.js) - Google Analytics