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

vic*_*rio 0 jsf jsf-2

在Eclipse JUNO中,我开始:

  1. 新的动态Web项目
  2. 名称:JSFTest;配置:JavaServer Faces v2.0项目
  3. JSF功能: 在此处输入图片说明
  4. 将jar复制到WEB-INF / lib(jstl-api,jstl-impl,jsf-api,jsf-impl):

    在此处输入图片说明

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

    在此处输入图片说明

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

  7. 当我在apache tomcat 7服务器上运行它时,结果(不必理会h1标题):

    在此处输入图片说明

那么为什么它不显示出文本和按钮呢?我怎么了 我在youtube上看到了很多视频,我一直跟随着他们,在视频有效的过程中,但对我来说却如此。

Lui*_*oza 5

因为您必须按照URL映射文件中所述访问虚拟文件夹index.xhtml下的页面。/faces/web.xmlFacesServlet

使您的JSF页面正常工作的一种简单方法是更改​​您的JSF页面中的url映射。 web.xml

从:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

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

IMO最好是第一种选择,用这种方式FacesServlet将只处理xhtml页面,使用/faces/*会使其处理任何其他资源,如图像,CSS和JS文件。

  • 我不知道 确保您的“索引”文件也称为“ index.xhtml”,并且位于“ WebContent”文件夹的根目录中。如果仍然有问题,请更新您的问题并“添加” web.xml文件内容。不要删除先前的问题内容。另外,请确保您具有JSF 2.x库(看起来您在`WEB-INF / lib`中具有JSF 1.2库)。 (2认同)