JSF入门示例

对于初学者来说,对JSF的生命周期以及Manage Bean,导航,页面之间的关系往往比较模糊。以下是一个简单的例子。主要比较明确的说明了Bean,配置文件和页面之间的关系。希望对初学者来说有帮助。

首先需要一个Manage Bean.只有一个Name属性:

package  jason.jsf.bean; 
public   class  PersonBean  {
      
private String name;
      
public void setName(String name) {            
          
this.name = name;      
      }
      
      
public String getName() {            
          
return this.name;      
          }

}

 

接下来,我们需要一个首页面index.jsp

<% @taglib uri="http://java.sun.com/jsf/core" prefix= "f" %>   
<% @taglib uri ="http://java.sun.com/jsf/html" prefix="h" %>
< html >     
    
< f:view >      
        
< head >
            
< title > JSF Hello World </ title >
        
</ head >      
        
< body >       
            
< h:form  id ="helloForm" >         
            
< h:outputLabel  for ="promptName" value ="Please enter your name"   />         
            
< h:panelGrid  columns ="2" >            
                
< h:outputLabel  for  ="name"  value ="Name:" />            
                
< h:inputTextid  ="name"  value ="#{person.name}" />            
                
< h:commandButton  value ="Say Hello" action ="sayHello" />            
                
< h:commandButton  value ="Say Bye"  action ="sayBye" />         
            
</ h:panelGrid >        
            
</ h:form >      
        
</ body >    
    
</ f:view >
</ html >

注意:以上两个标签<f:..> <h:..>是JSF基本的标签。

以上代码中,有两个按钮,action属性分别是“sayHello”和sayBye。当用户点击Say Hello按钮时,调用ManageBean中sayHello().的方法。然后转向到Hello.jsp页面。现在我们需要在PersonBean中添加sayHello方法和增加一个Hello.jsp页面。

<% @ taglib uri="http://java.sun.com/jsf/html"prefix="h" %>
<% @ taglib uri="http://java.sun.com/jsf/core"prefix="f" %>
< html >   
    
< f:view >       
    
< head >< title > Hello World! </ title ></ head >       
    
< body >         
        
< h:form >             
            
< h3 > Hello, < h:outputText  value ="#{person.name}"   /></ h3 >             
            
< h:commandLink  id ="Cancel" action ="index" immediate ="true" >                   
                
< h:outputText  value ="Cancel" />              
            
</ h:commandLink >         
        
</ h:form >     
    
</ body >   
    
</ f:view >
</ html >

 

他们之间的关系是:

GoodBye.jsp页面与Hello.jsp页面基本相似:

 

<% @ taglib uri="http://java.sun.com/jsf/html"prefix="h" %>
<% @ taglib uri="http://java.sun.com/jsf/core"prefix="f" %>
< html >   
    
< f:view >       
        
< head >< title > GoodBye World! </ title ></ head >       
        
< body >         
            
< h:form >             
            
< h3 > GoodBye, < h:outputText  value ="#{person.name}"   /></ h3 >             
            
< h:commandLink  id ="Cancel" action ="index" immediate ="true" >                   
                
< h:outputText  value ="Cancel" />              
            
</ h:commandLink >         
            
</ h:form >     
        
</ body >   
    
</ f:view >
</ html >

下面,我们看看导航规则的配置

 

最后,再看看他们之间的关系:

整个过程,大概就是这样的。希望对初学者有帮助。

下次:对于生命周期的理解。我将用一个例子来跟大家说明。尤其是对于immediate属性的理解等等。

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值