JSF入门笔记一

   本人计划用一个月到一个月半的业余时间完成JSF的学习,并把学习的过程放在网络上,并以留下走过的历程。希望有看到该贴的文章,该给鲜花、鸡蛋的不要吝啬。废话少说开始吧。

      要使用JSF,首先您要取得javaServerFfaces参考实现(JavaServerFaces Reference Implementaiton ),在将来,jsf 会与Contianer 整合在一起,届时您只要下载支持的Container,就可以使用JSF的功能。

    JSF 所要用到的公共类:获取途径 可以从JSF官方网站的下载区 下载参考实现,将其lib目录的JAR文件复制到你的WEB应用程序的/WEB-INF/lib目录下,另外还需要jstl。jar,standard.jar。那在我们的lib里共需要如下几个JAR   1.commons-beanutils.jar;2commons-collections.jar;3commons-digester.jar;4commons-logging.jar;5jsf-api.jar;6jsf-impl.jar;7jstl.jar;8standard.jar。补充一下 ,这里如果诸位有用MYeclipse的话,你只要在你新建的项目里增加JSF框架,那么就会有如上的jar。这样大家就不用去载了。而且代码的结构也为你生成了。至于代码的文件结构我就不提了。

   还有我是用MYeclipse开发的,所以在讲的过程中会顺带把这个工具的使用也写在里面。这里我们先做个简单的程序,至于实现的流程我们先了解一下:

VIEW :      index.jsp 用于输入名称 ;welcome。jsp用户用于获取index。jsp所输入的名称

页面流程控制 faces-config。xml来完成。代码如下

pages/index.jsp

############ code  begin###########

<%@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" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
 
  <body>
    <f:view>
      <h:form>
        <H3>请输入您的名称
        </H3>
  
        名称:<h:inputText value="#{user.name}"></h:inputText>
           <h:commandButton value="送出" action="login"></h:commandButton>
      </h:form>
    </f:view>
  </body>

############code end########################

pages/welcome.jsp

###########code begin ########################

<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<%
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>
</head>
 
<body>
 <f:view>
  This is my JSF JSP page. <br>
  <h:outputText value="#{user.name}"></h:outputText>
    
 </f:view>
</body>
</html>

#################end #############################

web.xml

增加了一个

<listener><listener-class>com.sun.faces.config.ConfigureListener </listener-class> 刚开始调试的时候我也调试不通过,后来到网络上去找了一下,一位仁兄跟也碰到了类似的情况后面就是增加以上语句解决的,置于是什么问题我目前也不知道。等后续的笔记中如果那一天领悟了,我再把原因发表上来。因为第一个例子比较简单,我就不罗嗦了。还有大家在学习的时候不管文档怎么样都要把把代码码一遍,这样对学习会很有好处。

################code begin

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <context-param>
    <param-name>javax.faces.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml</param-value>
  </context-param>
  <listener><listener-class>com.sun.faces.config.ConfigureListener </listener-class>
 </listener>
  <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>
#############end###############

#############begin###############

UserBean .java

package onlyfun.caterpillar;

public class UserBean {
 private String name ;

 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

 #############end###############

#############begin###############

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems,
Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.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>

#############end###############

#############begin###############

#############end############## 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值