JSF学习笔记--JSF简介,JSF第一个应用程序

1.JSF简介:
 JavaServer Faces的提出,让不同技术的人员可以彼此合作又不互相干扰,JavaServer Faces 


 也允许自定义标签,Java Community Process(JCP )团队研拟出来的一套标准;
2.JSF需要的jar包:
  /WEB-INF/lib 目录下,您总共需要以下的文件:  
* jsf-impl.jar   
* jsf-api.jar   
* commons-digester.jar   
* commons-collections.jar   
* commons-beanutils.jar   
* jstl.jar   
* standard.jar   
---------------------------------------------------
3.配置web.xml文件:
在上面的定义中,我们将所有.faces 的请求交由FaceServlet 来处理,FaceServlet
会唤起相对的 .jsp 网页,例如请求是/index.faces 的话,则实际上会唤起/index.jsp 网


页,完成配置,您就可以开始使用 JSF 了。
  <?xml version="1.0" encoding="ISO-8859-1"?>   
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"   
xmlns:xsi="http://www.w3.org/ 2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  
version="2.4">  
<description>  
JSF Demo   
</description>  
<display-name>JSF Demo</display-name>   
<servlet>  
<servlet-name>Faces Servlet</servlet-name>   
<servlet-class>javax.faces.webapp.FacesServlet </servlet-class>   
<load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
<servlet-name>Faces Servlet</servlet-name>   
<url-pattern>*.faces</url-pattern>  
</servlet-mapping>  
<welcome-file-list>  
<welcome-file>index.html</welcome-file>  
</welcome-file-list>  
</web-app>
------------------------------------------------
4.第一个JSF程序:
  UserBean.java  
package onlyfun.caterpillar;   
public class UserBean {   
private String name;   
public void setName(String name) {   
this.name = name;   
}  
public String getName() {   
return name;   
}  

这个 Bean将存贮使用者的名称,编译好之后放置在/WEB-INF/classes 下。  
接下来设计页面流程,我们将先显示一个登入网页/pages/index.jsp ,使用者填入
名称并提交表单,之后在/pages/welcome.jsp 中显示Bean中的使用者名称与欢迎信息。  
为了让JSF 知道我们所设计的Bean以及页面流程,我们定义一个
/WEB-INF/faces-config.xml :
-------------------------------------------------
b./WEB-INF/faces-config.xml :  
 faces-config.xml  
<?xml version="1.0"?>   
<!DOCTYPE faces-config PUBLIC   
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"   
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">  
<faces-config>  
<navigation-rule>  
<from-view-id>/pages/index.jsp</from-view-id>  
<navigation-case>  
<from-outcome>login</from-outcome>  
<to-view-id>/pages/welcome.jsp</to-view-id>  
</navigation-case>  
</navigation-rule>  
<managed-bean>  
<managed-bean-name>user</managed-bean-name>  
<managed-bean-class>  
onlyfun.caterpillar.UserBean  
</managed-bean-class>  
<managed-bean-scope>session</managed-bean-scope>  
</managed-bean>  
</faces-config>
------------------------------------------------------
c.pages/index.jsp
  <%@taglib uri="http://java.sun.com /jsf/core" prefix="f" %>   
  <%@taglib uri="http://java.sun.com /jsf/html" prefix="h" %>   
  <%@page contentType="text/html;charset=GB2312"%>   
<html>  
<head>  
<title> 第一个JSF 程序</title>  
</head>  
<body>  
<f:view>  
<h:form>  
<h3>请输入您的名称</h3>  
名称 : <h:inputText value="#{user.name}"/><p>   
<h:commandButton value="送出 " action="login"/>   
</h:form>  
</f:view>  
</body>  
</html>
-------------------------------------------------
d.pages/welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>   
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>   
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName


()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title> 第一个JSF 程序</title>
  </head>
  <body>
   <f:view>  
<h:outputText value="#{user.name}"/> 您好!  
<h3>欢迎使用  JavaServer Faces!</h3>  
</f:view>  
  </body>
</html>
------------------------------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值