警告:JSF1091:找不到文件QcFormDean.jsp的mime类型,但是等待它的jsf文件

时间:2014-02-05 20:09:25

标签: jsf jsf-2 mime-types web.xml

我刚刚将jstl-1.2.jar,JSF api和impl jar添加到我的库中,这样就可以在我的jsf xhtml文件中使用了。

<h:selectOneMenu value="#{qcFormBean.dliStickerValue}">
<f:selectItem itemValue="P" itemLabel="Pass or Not applicable" />
<f:selectItem itemValue="M" itemLabel="FAIL-Mechanical" />
<f:selectItem itemValue="E" itemLabel="FAIL-Electrical" />
<f:selectItem itemValue="C" itemLabel="FAIL-Cosmetic" />
<f:selectItem itemValue="S" itemLabel="FAIL-Software" />
<f:ajax event="change" execute="@this" render="perfbyDliSticker" />
</h:selectOneMenu>

<h:panelGroup id="perfbyDliSticker">
<h:selectOneMenu value="#{qcFormBean.performedByRoleID}"
             rendered="#{!qcFormBean.dliStickerValue eq  'P'}">
<f:selectItem itemValue="A" itemLabel="Always" />                
<f:selectItem itemValue="O" itemLabel="Often" />
<f:selectItem itemValue="S" itemLabel="Seldom" />                
</h:selectOneMenu>

现在,当我尝试访问我的IE上的页面时,我得到404丢失的错误,我在Tomcat上收到以下错误,我不知道该怎么做,此错误提到它作为一个jsp文件,我知道我把它作为一个jsf文件,所以我不知道该怎么做。

  

2014年2月5日下午3:05:50 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource   警告:JSF1064:无法找到或提供资源/preQcFormDean.xhtml。

     

2014年2月5日下午3:05:50 com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource警告:JSF1064:无法找到或提供资源/preQcFormDean.view.xml。

     

2014年2月5日下午3:05:50 com.sun.faces.context.ExternalContextImpl getMimeType   警告:JSF1091:找不到文件/preQcFormDean.jsp的mime类型。要解决此问题,请将mime类型映射添加到应用程序web.xml。

这是我的web.xml文件。

        <?xml version="1.0" encoding="UTF-8"?>
   <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee"                       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                                                  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
   version="3.0">
  <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>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<description>State saving method: 'client' or 'server' (default). See JSF   Specification section 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<welcome-file-list>
<welcome-file>index.jsf</welcome-file>
<welcome-file>welcome.jsf</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

以下是lib文件夹中的jar文件

javax.faces.jar 
jsf-api.jar 
jstl-1.2.jar 
jsf-impl.jar

2 个答案:

答案 0 :(得分:6)

尝试在web.xml中添加以下行

<mime-mapping>
    <extension>xhtml</extension>
    <mime-type>application/xml</mime-type>
</mime-mapping>

答案 1 :(得分:3)

摆脱jsf-api.jarjsf-impl.jar。它们已由单javax.faces.jar表示。现在你实际上已经有了两个不同的JSF API并且在webapp的运行时类路径中产生了冲突,这只会导致所有颜色的类冲突。

那些实际上是遗留JSF 1.x版本的大概率(您首先使用zip工具提取JAR文件,然后阅读/META-INF/MANIFEST.MF文件以获取确切的版本细节)作为默认视图技术,这反过来至少解释了为什么所有视图默认都被解释为JSP。