在IDEA中的Web应用程序中使用JSF而不是JSP

时间:2014-01-22 11:59:40

标签: java jsf intellij-idea

我以前是Java程序员,我刚刚教过servlet。但当我选择“创建Web应用程序”时,IDEA会修改index.jsp。我遇到了一篇从JSF中发现的文章。它被描述为WebApp设计的更好和最新版本。 我编写了一个项目,在这个路径中使用index.jsp(web-> src-> main-> webapp)。它由IDEA创建。现在我想用XHTML替代JSP。我已经完成了它,解决了我的项目并进行了部署。但是当我去

localhost:8080/web/

我一无所获。当我使用“index.JSP”时,我可以看到我的JSP页面的内容。请帮我纠正我的项目。我该怎么办?

1 个答案:

答案 0 :(得分:2)

为了使JSF正常工作,您需要做一些配置:

  • 确保您的faces-config.xml与WEB-INF文件夹处于同一级别,包含此文件用于JSF 2.0:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
        version="2.0">
</faces-config>
  • JSF使用Java EE提供的servlet,javax.faces.webapp.FacesServlet。您必须在web.xml中添加一些元素,以声明此servlet:
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
</web-app>

使用此配置,您必须将您的JSF放在与WEB-INF相同的级别,并为其提供扩展名.xhtml。当然你可以设置模式。

JSF不仅仅是替换JSF文件。这是一个允许您只编写业务逻辑的大框架。在使用之前,您需要了解有关JSF的更多信息。看看right here