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

时间:2011-09-18 09:03:44

标签: jsf-2 java-ee-6

我尝试在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。 当我发布这个真正的虚拟应用程序,并检查浏览器时,我看到一个完全空白的页面。 只有标题可以,但其余内容不会出现。

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

检查Faces Servlet中是否有web.xml

<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