随笔-348  评论-598  文章-0  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根据返回的结果进行相应的页面跳转。





---------------------------------------------------------
专注移动开发

Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2008-09-28 15:20 TiGERTiAN 阅读(757) 评论(0)  编辑  收藏 所属分类: JavaJSF

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


网站导航: