在jsf2.1中配置资源包

时间:2012-07-23 15:06:23

标签: jsf primefaces

我在引用xhtml文件中的.properties文件的资源值时遇到问题

我收到以下消息:

Jul 23, 2012 8:33:27 PM com.sun.faces.context.ExternalContextImpl getMimeType
WARNING: JSF1091: No mime type could be found for file hello.  To resolve this,
add a mime-type mapping to the applications web.xml.

这是我的faces-config.xml

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
    version="2.1">
    <application>
        <resource-bundle>
            <base-name>resources.resources</base-name>
            <var>resource</var>
        </resource-bundle>
        <locale-config>
            <default-locale>en</default-locale>
        </locale-config>
    </application>
</faces-config>

这是我的测试页

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
<f:view>
    <h:head>
        <h:outputText value="Header" />
    </h:head>

    <h:body>
        <h:form>
        <h:outputText value="#{resource.hello}" />
            <h:outputText value="Body" />
            <br />
            <p:spinner />
        </h:form>
    </h:body>
</f:view>
</html>

可能出现什么问题?

编辑:

不确定是否重要,我使用Primefaces-3.3.1

谢谢!

1 个答案:

答案 0 :(得分:2)

EL变量#{resource}是一个保留变量名,它引用/resources<h:outputStylesheet><h:outputScript>使用的<h:graphicImage>文件夹中的资源文件。 EL变量#{resource}通常仅用于CSS文件,如

.someClass {
    background-image: url("#{resource['someLibrary:image/some.png']}");
}

给它一个不同的名字。

<var>res</var>

<var>msg</var>

<var>text</var>

<var>i18n</var>

etc...

另见: