为什么我的jsf标签不起作用?

时间:2013-02-23 23:12:20

标签: jsf jsf-2

在Eclipse JUNO中,我开始了:

  1. 新的动态网站项目
  2. 姓名:JSFTest;配置:JavaServer Faces v2.0项目
  3. JSF Capabilites: enter image description here
  4. 将罐子复制到WEB-INF / lib(jstl-api,jstl-impl,jsf-api,jsf-impl):

    enter image description here

  5. WebContent的新HTML:带有“New Facelet Composition Page”的index.xhtml,以及里面的代码:

    enter image description here

  6. 在web.xml中,我将index.xhtml写入欢迎部分

  7. 当我在我的apache tomcat 7服务器上运行它时,结果(不要打扰h1标题):

    enter image description here

  8. 那为什么不显示出口和按钮?我错了什么?我在youtube上看到很多视频,我跟着他们,在它工作的视频中,但在我身上。

1 个答案:

答案 0 :(得分:4)

因为您必须访问index.xhtml虚拟文件夹下的/faces/页面,如web.xml网址中FacesServlet网址所示。

让JSF页面正常工作的一种简单方法是更改​​web.xml

中的网址映射

自:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

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

如果您不想更改此设置,则必须将welcome-file更改为/faces/index.xhtml

IMO会更好第一个选项,这样FacesServlet只会处理xhtml页面,使用/faces/*会使其处理任何其他资源,如图片,CSS和JS文件。