2012-06-14 85 views
0

我一直在爲AJAX/JSON編寫一個servlet。如何在JSF中按名稱獲取託管的bean?

我想通過名稱引用我的@ManagedBeans。基本上,我想要做的映射:

http://host/app/myBeanName/myPropertyName 

和 -

@ManagedBean(name="myBeanName") 
public class MyBeanName { 
    public String getMyProperty(); 
} 

我可以用名字從一個普通的servlet加載豆?或者如果有一個我可以用它的JSF servlet或helper,請告訴我關於它的事情?

+0

你想達到什麼目的?那麼你可以寫一個servlet,它會從上下文返回一個bean或它的屬性? – JMelnik

+0

[JSF - 通過名稱獲取託管bean]的可能重複(http://stackoverflow.com/questions/2633112/jsf-get-managed-bean-by-name) – BalusC

回答

0

我可以通過常規servlet的名稱加載bean嗎? Ø

是,如果你有在請求範圍內你的bean,然後從servlet的@RequestScope

YourBean bean = (YourBean)request.getAttribute("yourBeanName"); 

如果是在會話範圍@SessionScoped

YourBean bean = (YourBean)request.getSession().getAttribute("yourBeanName"); 

應用範圍的bean @ApplicationScope

YourBean bean = (YourBean)getServletContext().getAttribute("yourBeanName");