我正在使用facelets。我有一节课:
public class foo{
public static String foofookoo() {
return "tookoofoopoo";
}
}
如何在我的JSF页面上访问它,因为这是一个简单的POJO而不是托管bean?
答案 0 :(得分:4)
假设它真的一个POJO并且您的代码示例简直是坏的;很好地访问它的唯一方法是使它成为现有托管bean的属性:
@ManagedBean
public class Bean {
private Pojo pojo;
public Bean() {
pojo = new Pojo(); // Create/load it somehow.
}
public Pojo getPojo() {
return pojo;
}
}
然后在与托管bean关联的JSF页面中执行:
<h:outputText value="#{bean.pojo.property}" />
大致翻译为pageContext.findAttribute("bean").getPojo().getProperty()
。
但是,如果另一方面它实际上是一个带有静态非getter方法的实用程序类,那么最好的办法是将它包装在EL函数中。您可以在this answer中找到以Facelets为目标的示例。