我正在使用facelets。我有一节课:
public class foo{
public static String foofookoo() {
return "tookoofoopoo";
}
}
如何在 JSF 页面上访问它,因为这是一个简单的 POJO 而不是托管 bean?
最佳答案
假设它确实是一个 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 的示例。 .
关于jsf - 如何访问 JSF 页面中的非托管 bean 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2546980/