无法呈现JSF

如何解决无法呈现JSF

两种解决方案:

  1. index.jsp需要被称为index.jsf由浏览器。
  2. index.jsp应该解雇重定向而不是向前。JSTL <c:redirect>可能有用。

无论如何,这样index.jsp是毫无意义的。只需添加/pages/inputname.jsf<welcome- file>web.xml提供一个 /pages/inputname.jsf文件旁边的 真正/pages/inputname.jsp愚弄服务器,文件存在(否则会404)。

至于web.xmlDOCTYPE不属于那里。这是Servlet 2.3的一种古老的方法,在此之前(已有近十年的历史了)。在Servlet 2.4及更高版本上,有XSD。更重要的是,由于您使用的是JSF 1.2,因此web.xml应 声明为Servlet 2.4,最好是Servlet 2.4,最好是容器可以支持的最高值,以便可以利用最新的API设施。Tomcat 5.5是Servlet 2.4,Tomcat 6.0是Servlet 2.5,Tomcat 7.0是Servlet 3.0。

也可以看看:

解决方法

我有一个带有 index.jsp 的小型Web应用程序,它可以转发(主要只包含):

<jsp:forward page="/pages/inputname.jsf" />

web.xml 包含(除了您期望的所有其他内容;请参阅下文):

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

inputname.jsp 未呈现(这是URI):

http://localhost:8080/simpleWeb/index.jsp

该页面因此出现在浏览器中(标签,输入编辑字段,按钮):

#{msg.prompt} #{personBean.personName} #{msg.button_text}

我猜这是因为它没有通过Faces servlet。但是,我不确定如何强制执行。(请注意,我在其他地方,使用RichFaces和MyFaces在处理
.xhtml 文件时也遇到了类似的问题,但我想先解决这个更简单的情况。)

本教程让我使用WEB-INF / lib /中的这些库(通过Maven):

avalon-framework-4.1.3.jar
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-logging-1.1.jar
jsf-api-1.2_02.jar
jsf-impl-1.2-b19.jar
jstl-1.1.2.jar
log4j-1.2.12.jar
logkit-1.0.1.jar
servlet-api-2.3.jar
standard-1.1.2.jar

任何帮助将不胜感激。

web.xml (是的,它具有DOCTYPE网络应用程序标头):

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
    </context-param>

    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>

    <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>*.jsf</url-pattern>
    </servlet-mapping>
</web-app>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?