【问题标题】:WARNING: JSF1091: No mime type could be found for file QcFormDean.jsp, but wait its a jsf fileWARNING: JSF1091: No mime type can be found for file QcFormDean.jsp, but wait it a jsf file
【发布时间】:2014-03-02 11:37:15
【问题描述】:

我刚刚将 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>
</h:panelGroup>

现在,当我尝试访问 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

【问题讨论】:

  • 澄清一下,您的 xhtml 文件的文件名是什么以及您要访问的 URL 是什么?
  • 这将是 qcFormDean.xhtml xhtml 文件,并且 URL 是 localhost/dli_int_preQc_QC_Forms/preQcFormDean.jsf
  • 您是否配置了 Faces servlet,如果是,您能否显示 web.xml 的摘录?听起来它没有收到您的请求。
  • 你的 webapp 的运行时类路径是一团糟。要开始确定它,请编辑您的问题以在 webapp 的 /WEB-INF/lib 中包含所有 JAR 的完整列表。
  • 将 jars 添加到其中,以及 web.xml 希望对您有所帮助。

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


【解决方案1】:

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

很有可能这些实际上是旧 JSF 1.x 版本(您首先使用 zip 工具提取 JAR 文件,然后阅读 /META-INF/MANIFEST.MF 文件以获取确切的版本详细信息),默认使用古老的 JSP视图技术反过来至少可以解释为什么您的所有视图默认都被解释为 JSP。

【讨论】:

  • 试过了,遗憾的是我仍然收到这些错误 2014 年 2 月 6 日上午 8:06:00 com.sun.faces.context.ExternalContextImpl getMimeType 警告:JSF1091:找不到文件的 mime 类型/QcFormDean.jsp。要解决此问题,请将 mime 类型映射添加到应用程序 web.xml。
  • 我应该使用不同版本的 jstl 吗?
  • 那么问题是由迄今为止提供的信息中看不到的其他地方引起的。我建议根据理智的指南/教程从头开始创建一个新的 JSF 项目。这是一个:stackoverflow.com/tags/jsf/info
  • 好吧,你会不会碰巧知道一个关于 eclipse 的好教程?
  • 谢谢我创建了一个新项目,虽然解决了这个问题,但我现在收到一个新错误,提示“ Parent 不是复合组件或 ClientBehaviorHolder 类型,类型为:javax。 faces.component.UIViewRoot@1d3fdfd" 所以我猜可能需要提出一个新问题,但会研究该怎么做。
【解决方案2】:

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

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

【讨论】:

  • 找不到文件 /preQcFormDean.jsp 的 mime 类型 应该是 &lt;extension&gt;jsp&lt;/extension&gt; 来修复。
  • jsptext/xml
猜你喜欢
  • 2022-12-01
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2022-12-02
  • 1970-01-01
相关资源
最近更新 更多