Как создать динамический вид на одной странице - PullRequest
0 голосов
/ 15 октября 2010

у меня есть одна страница index.jsf, я использовал пользовательский интерфейс: включить для заголовка и нижнего колонтитула включения, я хочу динамический просмотр содержимого, это означает, что когда пользователь нажимает на ссылку регистрации, просто заголовок изменения содержимого и нижний колонтитул не изменяются

я представляю мой пример кода:

<ui:include render="#{mybean.include}"/>

, а в бэк-бине мой код будет:

public void getInclude(){
    if("page" == a){
        return "a.jsf";
    }
    else if("page" == b) {
     return "b.jsf";
    }
}

, и я буду использовать симпатичный пример URL на старой странице jsfбудет отображаться URL

http://localhost/index.jsf?page=a or http://localhost/index.jsf?page=b

, но я хочу использовать симпатичный URL вместо старого, пример:

http://localhost/index/a

как я могу это сделать (это означает использование симпатичных лиц и как я могу использоватьif-else для чего?) я могу объяснить вышеупомянутый вопрос здесь, а не выше, я использую if ("page" = a), если я использую старый способ вставки параметра url http://loalhost/index.jsf?page=a, но если я использую pretter url или красивые лица, чтоя бы сделал для заявления if-else?если (?? = a)

2 вопрос, пожалуйста, помогите мне спасибо

  ==========================================================

Теперь я настраиваю симпатичные лица и работаю хорошо, но я не знаю, как я могу получить параметр из Prettyfaces, вPretty-config.xml Страница конфигурации была следующей:

Главная страница (динамическое изменение содержимого там)

<url-mapping id="mainpage">
 <pattern value="/home" />
 <view-id>/faces/main.xhtml</view-id> 
</url-mapping>

Page1

<url-mapping id="mainpage">
 <pattern value="/home/#{page:content1}" />
 <view-id>/faces/content1.xhtml</view-id> 
</url-mapping>

стр. 2

<url-mapping id="mainpage">
 <pattern value="/home/#{page:content2}" />
 <view-id>/faces/content2.xhtml</view-id> 
</url-mapping>

на первой странице я использую интерфейс: включить для динамического подпредставления

<ui:include src=#{bean.includePage}/>

у моего компонента есть один метод для получения включаемой страницы

  public String getIncludePage(){
       if(page == null){
        return "content.xhtml";
       }
       else if (page.equals(content1)){
        return "content1.xhtml";
      }
      else if (page.equals(content2)){
        return "content2.xhtml;
      } 
}

Но я не могу изменитьдинамическое отображение содержимого страницы на одной странице

1 Ответ

0 голосов
/ 25 декабря 2011

Если я правильно понял ваш вопрос, ваша проблема не имеет ничего общего с PrettyFaces.

Правильно ли, что вы хотите получить разные страницы с одинаковым верхним и нижним колонтитулами?В этом случае вы действительно должны научиться шаблонизировать с помощью Facelets, потому что это именно тот случай, когда он нужен.

Вот краткий пример работы Facelets:

template.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
  <title>
    <ui:insert name="title" />
  </title>
  <link rel="stylesheet" type="text/css" href="./css/main.css"/>
</head>

<body>

<div id="center">
  <ui:insert name="title" />
  <hr />
  <ui:insert name="content" />
</div>

</body>

</html>

some-page.xhtml:

<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">

<ui:composition template="/template.xhtml">
  <ui:define name="title">My Page Title</ui:define>
  <ui:define name="content">

    <p>
      This is the main content area
    </p>

  </ui:define>
</ui:composition>
</html>

Рекомендую прочитать Facelets подходит для JSF как перчатка .Это действительно отличная статья о Facelets.

...