我在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. 从JavaScript + JSF调用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. Request scope backing bean ... not in request
- 10. 对于列表中的每个项目,从backing bean方法中设置itemDisable
- 11. 当backing bean方法返回时如何在JSF中检测
- 12. Backing bean方法从输入中获取null
- 13. facelet dataTable:在backing bean中找不到方法,试图将实例发送回bean
- 14. 使用基于剃刀方法的URL
- 15. JSTL,Bean和方法调用
- 16. 从jsp调用bean方法
- 17. 方法,调用的Spring bean
- 18. 何时在JSF中使用Serializable backing bean?
- 19. JSF中的多个页面没有调用backing bean mutators
- 20. 多次调用JSF Backing Bean构造函数
- 21. 使用URL参数调用JSF Managed Bean方法
- 22. 基于传入的url调用url
- 23. 基于类型调用DAL方法
- 24. 基于字符串调用方法
- 25. 在JSF中如何在使用backing bean方法获取值后调用java脚本
- 26. 在加载时执行backing bean操作?
- 27. 使用javascript调用bean方法
- 28. 基于URL调用Ajax函数
- 29. 调用不bean属性方法的FreeMarker
- 30. jsf - commandLink不调用bean方法
这将帮助您:http://balusc.blogspot.in/2011/09/communication-in-jsf-20.html – 757071 2013-02-26 11:50:33