分析hello.java。下载连接:https://github.com/javaee/tutorial-examples/tree/master/web/jsf/hello1html
/**
* Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
*
* You may not modify, use, reproduce, or distribute this software except in
* compliance with the terms of the License at:
* https://github.com/javaee/tutorial-examples/LICENSE.txt
*/
package javaeetutorial.hello1;java
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;git
@Named
@RequestScoped
public class Hello {github
private String name;web
public Hello() {
}post
public String getName() {
return name;
}this
public void setName(String user_name) {
this.name = user_name;
}
}htm
Hello类叫作管理bean类,它为facelets页面表达式所使用的name属性提供了getter和setter方法,默认该facelets页面表达式引用的是Hello类的名字,不过第一个字母是小写字母(例如:hello.name)。blog
若是你使用的是默认的bean类的类名,你注解能够用@Model来替代@Named和@RequestScoped。@Model注释称为原型,是一个包含其余注释的注释的术语。get
在 Hello.java类中,注解javax.inject.Named和javax.enterprise.context.RequestScoped使用请求scope来标识Hello类为管理bean类。scope定义应用程序数据是如何保存和共享的。
在JSF中最经常使用的scope以下:
Request(@RequestScoped):请求scope在Web应用程序中的单个HTTP请求期间仍然存在。像hello1应用,该应用由单个请求和响应组成,bean使用请求scope。
Session (@SessionScoped):会话scope持续存在于Web应用程序中的多个HTTP请求中。当应用程序包含须要维护数据的多个请求和响应时,bean使用会话scope。
Application (@ApplicationScoped):应用程序scope在全部用户与Web应用程序的交互中持久存在。
文章来源:http://www.cnblogs.com/zgq0/p/8685612.html