Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JSF页面中访问非托管bean类?_Jsf_Facelets - Fatal编程技术网

如何在JSF页面中访问非托管bean类?

如何在JSF页面中访问非托管bean类?,jsf,facelets,Jsf,Facelets,我正在使用facelets。我有一门课: public class foo{ public static String foofookoo() { return "tookoofoopoo"; } } 由于这是一个简单的POJO而不是托管bean,我如何在我的JSF页面上访问它?假设它确实是一个POJO,并且您的代码示例很糟糕;很好地访问它的唯一方法是将其作为现有托管bean的属性: @ManagedBean public class Bean { pr

我正在使用facelets。我有一门课:

public class foo{
    public static String foofookoo() {
        return "tookoofoopoo";
    }
}
由于这是一个简单的POJO而不是托管bean,我如何在我的JSF页面上访问它?

假设它确实是一个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函数中。您可以在中找到Facelets目标示例。

假设它实际上是一个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函数中。您可以在中找到Facelets目标示例。

这不是POJO。它通常是一个纯Javabean,只有公共的非静态getter/setter/c'tor。你不是在说一个只有静态方法(函数)的实用程序类吗?嗨,BalusC,为什么它不是POJO?我以为POJO和javabean是一样的?请澄清,我有一个疑问。是的,我说的是带有静态方法的实用类。我想在页面上访问这些静态方法。您展示了一个静态的非getter方法。这不能是POJO的一部分。POJO不必有getter和setter。wikipedia:“理想情况下,POJO是一个Java对象,除了Java语言规范强制的限制外,它不受任何限制。”这不是POJO。它通常是一个纯Javabean,只有公共的非静态getter/setter/c'tor。你不是在说一个只有静态方法(函数)的实用程序类吗?嗨,BalusC,为什么它不是POJO?我以为POJO和javabean是一样的?请澄清,我有一个疑问。是的,我说的是带有静态方法的实用类。我想在页面上访问这些静态方法。您展示了一个静态的非getter方法。这不能是POJO的一部分。POJO不必有getter和setter。来自wikipedia:“理想情况下,POJO是一个Java对象,不受Java语言规范以外任何限制的约束。”嗨,BalusC,我完全按照您所指链接上的内容做了,但它不起作用。我得到标签找不到错误。我该怎么办?这是我的taglib.xml laala.com/el/AppDeployment getCommonImagePath Common.AppDeployment字符串getCommonImagePath(java.lang.String)在我的web.xml中,我添加了:-javax.faces.FACELETS\u LIBRARIES/META-INF/AppDeployment.taglib.xml,我一直在glassfish管理控制台中发现配置空错误和未找到标记。请帮助我。我发现此错误为spccific:severy:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:com.sun.faces.config.ConfigurationException:配置失败!nullHi balusC我自己想出来的。那是我愚蠢的错误。谢谢againHi BalusC,我完全按照你在链接上说的做了,但它不起作用。我得到标签找不到错误。我该怎么办?这是我的taglib.xml laala.com/el/AppDeployment getCommonImagePath Common.AppDeployment字符串getCommonImagePath(java.lang.String)在我的web.xml中,我添加了:-javax.faces.FACELETS\u LIBRARIES/META-INF/AppDeployment.taglib.xml,我一直在glassfish管理控制台中发现配置空错误和未找到标记。请帮助我。我发现此错误为spccific:severy:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:com.sun.faces.config.ConfigurationException:配置失败!nullHi balusC我自己想出来的。那是我愚蠢的错误。再次感谢