posts - 5,  comments - 7,  trackbacks - 0
如果Managed-Bean已经被创建并存在,则可以通过下面的形式访问session范围内的Managed-Bean
org.test.TestBean x = (org.test.TestBean) request.getSession().getAttribute("testBean");


如果不存在,则需要先访问一下Managed-Bean,让他被触发而创建
org.test.TestBean x = (org.test.TestBean) Util.getBean("testBean"); 

//In Util.java:

public static Object getBean(String expr){
FacesContext context 
=
 FacesContext.getCurrentInstance();    
Application app 
=
 context.getApplication(); 
ValueBinding binding 
= app.createValueBinding("#{" + expr + "}"
);
Object value 
=
 binding.getValue(context);  
return
 value;
}


为JSF指定Action,可以这样写:
             <h:commandButton action="#{user.verify}" value="Say Hello!">                 
             
</h:commandButton>
User类中的代码:
    public String verify()
    
{
        
return "hello";
    }
faces-config.xml中:
 <managed-bean>
  
<description>User Name Bean</description>
  
<managed-bean-name>user</managed-bean-name>
  
<managed-bean-class>demo.User</managed-bean-class>
  
<managed-bean-scope>session</managed-bean-scope>
 
</managed-bean>
 
<navigation-rule>
  
<from-view-id>/pages/inputUserName.jsp</from-view-id>
  
<navigation-case>
   
<from-outcome>hello</from-outcome>
   
<to-view-id>/pages/hello.jsp</to-view-id>
  
</navigation-case>
 
</navigation-rule>
这样,点击按钮,就会转到verify方法中进行验证,然后返回相应结果的字符串,jsf根据返回的结果进行相应的页面跳转。
posted on 2008-11-23 00:21 Vincent-chen 阅读(413) 评论(0)  编辑  收藏 所属分类: JSF

只有注册用户登录后才能发表评论。


网站导航: