<ui:composition template =“/ template.xhtml”>无效路径:/template.xhtml

时间:2016-07-12 06:30:52

标签: jsf-2 weblogic12c

资源库合同不适用于Weblogic 12.1.1。想知道是版本问题吗?尝试访问c1 / index.xhtml

时遇到以下错误

javax.faces.view.facelets.TagAttributeException://seamnt/prd101/weblogic12_projects/testdomain/servers/testserver/stage/JavaWeb/JavaWeb/c1/index.xhtml @ 8,48路径无效:/template.xhtml < / p>

这是战争结构:

War Structure

WEB-INF / faces-config.xml中

RewriteEngine On
RewriteBase /subfolder/
....
....
RewriteRule . /subfolder/index.php [L]

合同/ C1 /的template.xhtml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.1"
                          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">
        <application>
                <resource-library-contracts>
                        <contract-mapping>
                                <url-pattern>/c1/*</url-pattern>
                                <contracts>c1</contracts>
                        </contract-mapping>
                        <contract-mapping>
                                <url-pattern>/c2/*</url-pattern>
                                <contracts>c2</contracts>
                        </contract-mapping>
                </resource-library-contracts>
        </application>
</faces-config>

C1 /的index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <h:outputStylesheet name="default.css"/>
        <title><ui:insert name="title">c1 Template</ui:insert></title>
    </h:head>

    <h:body styleClass="body">
        <h1><ui:insert name="h1">template.xhtml</ui:insert></h1>
        <h:graphicImage url="#{resource['duke.handsOnHips.gif']}"
                                alt="Duke with hands on hips"/>
        <ui:insert name="content"/>
    </h:body>
</html>

1 个答案:

答案 0 :(得分:1)

JSF 2.2中的资源库合同为introduced

您只使用JSF 2.1。这不仅表示您在version="2.1"中使用faces-config.xml这一事实,而且还表明WebLogic 12.1.x内置了JSF 2.1。

从逻辑上讲,您有2个选项:

  1. 升级到JSF 2.2(这意味着,升级到WebLogic 12.2.x)。
  2. 放弃使用资源库合约的想法。无论如何,这是一个相当无用的功能。
  3. 最后但同样重要的是,确保您的版本与学习资源相匹配,并确保您赶上当前可用的版本。确保以正确的方式学习JSF。 Start here