jsf内部结构初体验
1:jsf分为四部分。1)jsp页面。2)java源程序。3)java bean。4)jpa(数据库框架)
2:jsp 和 java bena通过“faces-config.xml ” 文件相互通信。通信的方法为以下代码“蓝色文字”
<managed-bean>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
3:xml接收form和java bean 的返回值确定接下来跳到哪个页面继续执行。如以下代码蓝色部分均指向login.jsp页面。
jsp页面
<h:form id="login">
...
<h:commandLink id="creat" value="Create New Account" action="login" />
</h:form>
java bean 页面
package enterprise.jsf_jpa_war.UserManager;
public class usermanager
{
public String name()
{
.....
return "login";
}
}
xml 信息接收页面
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/login.jsp</to-view-id>
<redirect />
</navigation-case>
4:下面的xml代码写出了调用java bean代码的名字和路径。
<managed-bean>
<managed-bean-name>usermanager</managed-bean-name><!--java bean类的名字-->
<managed-bean-class>enterprise.jsf_jpa_war.UserManager</managed-bean-class><!--路径-->
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
5:以下部分介绍了xml调用jpa的方法。
<lifecycle>
<phase-listener>
enterprise.jsf_jpa_war.AuthenticationPhaseListener
</phase-listener>
</lifecycle>
6:java bean下设置sesson 变量
public static final String USER_SESSION_KEY = "user";
7:jsp调用java bean的两种方法
<h1><h:outputText value="JSF + JPA" /></h1>
Welcome ${user.firstname} ${user.lastname}! You've been registered since ${user.since}.
<h:form>
<h:commandButton id="logout" value="Logout" action="#{usermanager.logout}"/>
</h:form>
上面的蓝色部分通过java bean 设置的sesson变量名用来调用java bean内的变量。下面的蓝色部分是通过java bean类名用来调用java bean 内的函数。
转载于:https://blog.51cto.com/qyweiyy/714233