我在JSF中遇到了一个问题。有什么方法可以根据URL调用backing bean的方法吗?在使用Struts时,我可以通过structs-config
和action class来实现。当我从Struts迁移到JSF时,我正面临着这个问题。基于URL调用backing bean方法
回答
您可以使用PrettyFaces,它极大地改进了JSF导航。使您能够使用可理解的,可收藏的REST URL。
我你使用的Servlet 3.0,那么你只需要PrettyFaces jar添加到您的Web应用程序, 注释与页面映射你的托管bean,并选择特定的映射操作:
import com.ocpsoft.pretty.faces.annotation.URLAction;
import com.ocpsoft.pretty.faces.annotation.URLMapping;
import com.ocpsoft.pretty.faces.annotation.URLMappings;
@ManagedBean(name = "pageViewBean")
@URLMappings(mappings = {
@URLMapping(id = "myAction",
pattern = "/page/myAction", // URL mapped to jsf file
viewId = "/page.xhtml"), // jsf file
@URLMapping(id = "myAction2",
pattern = "/page/myAction2", // URL mapped to jsf file
viewId = "/page.xhtml")}) // jsf file
public class PageViewBean
{
@URLAction(mappingId = "myAction") // action for URL /page/myAction
public void myAction()
{
...
}
@URLAction(mappingId = "myAction2") // action for URL /page/myAction2
public void myAction2()
{
...
}
这就是所有。
感谢您的回复。 – 2013-02-26 12:48:28
PrettyFaces是一款出色的工具,我们将它与PrimeFaces一起使用,它已经解决了许多架构问题。 – 2013-10-04 18:40:33
可以使用<f:event type="preRenderView" />
,会在每个网页会被渲染时调用,把它放在你的<h:head>
标签
例如上面:
<f:event listener="#{myBean.myAction}" type="preRenderView" />
<h:head>
...
</h:head>
<h:body>
...
而且在你的bean:
public void myAction(ComponentSystemEvent event){
...
}
感谢您的回复 – 2013-02-26 14:12:45
- 1. 如何从jQuery调用backing bean方法?
- 2. outputText不调用backing bean方法
- 3. 未调用JSF Backing Bean方法
- 4. 无法执行Backing bean方法
- 5. 通过反射调用backing bean方法 - JSF
- 6. 通过XmlHttpRequest对象调用backing bean方法
- 7. jsf使backing bean方法同步
- 8. JSF/Primefaces span onClick自动调用Backing Bean
- 9. JSF如何从backing bean重定向到在backing bean中动态构造的URL?
- 10. 在jsf中完成javascript调用后如何调用listener或backing bean方法?
- 11. 将EJB3注入基于Annotation的JSF2引发javax.naming.NameNotFoundException的Backing bean:
- 12. 刷新数据并在设置时间后调用backing bean方法
- 13. 丰富的面孔4.2.3文件上传不调用backing bean方法
- 14. 重置ViewFope的JSF Backing Bean
- 15. Request scope backing bean ... not in request
- 16. 对于列表中的每个项目,从backing bean方法中设置itemDisable
- 17. p:fileUpload响应在actionListener方法在backing bean结束之前返回
- 18. 当backing bean方法返回时如何在JSF中检测
- 19. Backing bean方法从输入中获取null
- 20. 使用基于剃刀方法的URL
- 21. facelet dataTable:在backing bean中找不到方法,试图将实例发送回bean
- 22. 从jsp调用bean方法
- 23. 未调用Bean方法
- 24. 调用企业bean方法
- 25. 方法,调用的Spring bean
- 26. 从Jquery调用Bean方法
- 27. JSTL,Bean和方法调用
- 28. p:ajax不调用bean方法
- 29. 何时在JSF中使用Serializable backing bean?
- 30. PrimeFaces在confirmDialog中的commandButton不调用backing bean
这将帮助您:http://balusc.blogspot.in/2011/09/communication-in-jsf-20.html – 757071 2013-02-26 11:50:33