Шаблон JSF не применяется - PullRequest
       2

Шаблон JSF не применяется

1 голос
/ 02 сентября 2010

Я создал шаблон (template.xhtml), который находится в корневом контексте приложения.Я хотел применить его к странице (newTemplateClient.xhtml), которая находится в папке «public».Поэтому newTemplateClient.xhtml выглядит следующим образом:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns="http://www.w3.org/1999/xhtml"
            template="./../template.xhtml">
                            .
                            .
                            .

У меня есть ссылки на эту страницу в index.xhtml:

<h:link outcome="/public/newTemplateClient" value="Login"/>

<h:commandLink action="/public/newTemplateClient?faces-redirect=true" value="Login"/>

<h:commandLink action="/public/newTemplateClient" value="Login"/>

И только последние работы.Когда я использую первые две страницы отображается, но шаблон не применяется.Так что работает только тогда, когда страница перенаправлена, а не перенаправлена.Почему?

Заранее спасибо

Хорошо, кажется, что шаблон применяется, а файлы css - нет.Я использую мастера NetBeans для создания шаблонов и шаблонов клиентов.Файлы css находятся в каталоге / resources / css /.На них ссылаются из template.xhtml:

`

<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
    <link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
    <title><ui:insert name="title">template</ui:insert></title>
</h:head>

<h:body>

    <div id="top">
        <ui:insert name="top">Top</ui:insert>
    </div>

    <div id="content" class="center_content">
        <ui:insert name="content">Content</ui:insert>
    </div>

    <div id="bottom">
        <ui:insert name="bottom">Bottom</ui:insert>
    </div>

</h:body>

`

Как я могу ссылаться на эти CSS-файлы другим способом?Структура папок:

Root
  public
    newClientTemplate.xhtml
  template.xhtml
  index.xhtml

1 Ответ

3 голосов
/ 02 сентября 2010

Хорошо, проблема решена. Решение было использовать:

<h:outputStylesheet name"css/default.css"/>
<h:outputStylesheet name"css/cssLayout.css"/>

Вместо того, чтобы:

<link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...