JSF2 + Eclipse + Glassfish 奇怪的输出问题

Posted

技术标签:

【中文标题】JSF2 + Eclipse + Glassfish 奇怪的输出问题【英文标题】:JSF2 + Eclipse + Glassfish strange output problem 【发布时间】:2011-11-19 14:29:38 【问题描述】:

我尝试在 Eclipse indigo 中制作一个简单的 JSF2 应用程序。 我有一个非常简单的 ManagedBean(调用 HelloBean.java)

package server;



@ManagedBean
@RequestScoped
public class HelloBean 

    private String name;

public HelloBean() 


    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

这是我的 index.xhtml

    <html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

    <h:head><title>JSF 2.0 Hello World</title></h:head>
        <h:form>
            <h:inputText value="#helloBean.name"></h:inputText>
            <h:commandButton value="Welcome me" action="welcome"></h:commandButton>
        </h:form>
</html>

在 Eclipse 中,我创建了一个名为 JSF2.0 的用户库,并添加了 jsf-api... 和 jsf-impl jar。在项目设置中,我选择了 JavaServer Faces。 当我发布这个真正的虚拟应用程序并检查浏览器时,我看到一个完全空白的页面。 只有标题没问题,其余内容都没有出现。

我检查了服务器日志文件,没有警告没有错误,看起来还可以。

有什么问题?我错过了什么重要的事情吗?

感谢您的帮助!

【问题讨论】:

你在导入什么或者 ManagedBean 和 RequestScoped。确保它们在打包的 JSF 中,而不是在 CDI 中。还将您的面孔 servlet 映射到 .jsf 【参考方案1】:

检查您的web.xml 中是否包含Faces Servlet

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

然后确保您的网址包含faces 前缀,例如http://localhost:8080/faces/index.xhtml

【讨论】:

呃,我的错!我是个盲人,非常感谢!它有帮助,一切正常。

以上是关于JSF2 + Eclipse + Glassfish 奇怪的输出问题的主要内容,如果未能解决你的问题,请参考以下文章

jsf 2.2 获取属性文件的路径

将 Eclipse Indigo 用于 JSF 2.0 组件

Eclipse + Maven + JavaServer Faces -> ClassNotFoundException: StartupServletContextListener

Eclipse 自动完成快捷方式不显示使用复合组件的新标签的属性

为 JSF 下载 Mojarra 库时,在 Eclipse 中显示错误“zip 文件为空”

JSF2:在运行时构建 JSF2 视图(整个组件树)