Oops! JSF Quick Start!

Oops! JSF Quick Start!
 

Oops! JSF Quick Start!

Purpose:

学习使用一个JSF

Precondition:


/Files/pixysoft/jsf_simple_lib.part1.rar
/Files/pixysoft/jsf_simple_lib.part2.rar


Reference:
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html#compile


Tutorial:

新建一个项目Dynamic Web Project,名字Oops_JSF



lib目录下添加以下jar文件



修改
web.xml


<? xml version="1.0" ?>

<! DOCTYPE web-app PUBLIC 

 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 

 "http://java.sun.com/dtd/web-app_2_3.dtd"
>

< web-app >

    
< context-param >

        
< param-name > javax.faces.STATE_SAVING_METHOD </ param-name >

        
< param-value > server </ param-value >

    
</ context-param >

    
< 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 >

    
<!--  Faces Servlet  -->

    
< servlet >

        
< servlet-name > Faces Servlet </ servlet-name >

        
< servlet-class > javax.faces.webapp.FacesServlet </ servlet-class >

        
< load-on-startup >  1  </ load-on-startup >

    
</ servlet >

    
<!--  Faces Servlet Mapping  -->

    
< servlet-mapping >

        
< servlet-name > Faces Servlet </ servlet-name >

        
< url-pattern > *.jsf </ url-pattern >

    
</ servlet-mapping >

    

</ web-app >



在WEB-INF目录下面添加文件faces-config.xml


<? xml version="1.0" ?>

<! 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/inputname.jsp </ from-view-id >

    
< navigation-case >

     
< from-outcome > greeting </ from-outcome >

     
< to-view-id > /pages/greeting.jsp </ to-view-id >

   
</ navigation-case >

 
</ navigation-rule >

 
< managed-bean >

    
< managed-bean-name > personBean </ managed-bean-name >

    
< managed-bean-class > jsfks.PersonBean </ managed-bean-class >

    
< managed-bean-scope > request </ managed-bean-scope >

 
</ managed-bean >

</ faces-config >


在WebContent下面添加pages目录,然后新建2个文件

greeting.jsp

 

<% @ taglib uri = " http://java.sun.com/jsf/html "  prefix = " h "   %>

<% @ taglib uri = " http://java.sun.com/jsf/core "  prefix = " f "   %>

< f:loadBundle  basename ="jsfks.bundle.messages"  var ="msg" />

< html >

 
< head >

   
< title > greeting page </ title >

 
</ head >     

 
< body >

     
< f:view >

        
< h3 >

     
< h:outputText  value ="#{msg.greeting_text}" /> ,

     
< h:outputText  value ="#{personBean.personName}" />

         
< h:outputText  value ="#{msg.sign}" />

    
</ h3 >

     
</ f:view >

 
</ body >    

</ html >



inputname.jsp

<% @ taglib uri = " http://java.sun.com/jsf/html "  prefix = " h "   %>

<% @ taglib uri = " http://java.sun.com/jsf/core "  prefix = " f "   %>

< f:loadBundle  basename ="jsfks.bundle.messages"  var ="msg" />

< html >

 
< head >

 
< title > enter your name page </ title >

 
</ head >

 
< body >

   
< f:view >

     
< h1 >

      
< h:outputText  value ="#{msg.inputname_header}" />

     
</ h1 >

     
< h:form  id ="helloForm" >

      
< h:outputText  value ="#{msg.prompt}" />

      
< h:inputText  value ="#{personBean.personName}" />

      
< h:commandButton  action ="greeting"  value ="#{msg.button_text}" />

     
</ h:form >

   
</ f:view >

 
</ body >

</ html >  



WebContent目录下面添加一个index.jsp文件

 

< html >

 
< body >

 
< jsp:forward  page ="/pages/inputname.jsf"   />

 
</ body >

</ html >

 

src目录下面添加jsfks目录,再添加PersonBean.java文件


package  jsfks;

publicclass PersonBean {

   String personName;

    

   
/**

   *@returnPersonName

   
*/

  
public  String getPersonName() {

      returnpersonName;

   }

   
/**

   *@paramPersonName

   
*/

   publicvoid setPersonName(String name) {

      personName 
=  name;

   }

}


jsfks目录下添加bundle目录,再添加文件messages.properties

inputname_header = JSFKickStart

prompt
= Tellusyourname:

greeting_text
= WelcometoJSF

button_text
= SayHello

sign
= !



最后整个文件夹为:



最后
Run as … On Server




注意:一定要把之前的
server配置删除,run as 的时候是一个新的server,就因为这个原因我忙了几个小时,才发现出错是因为之前存在了另外一个roject在server上,也不提示。

你可能感兴趣的:(Oops! JSF Quick Start!)