2013-04-24 4 views
2

Я хотел бы использовать тег ajax, на основе которого в настоящее время отображается страница. Я использую JSF 2 и Primeface 3.5JSF получить текущую страницу

Если (CurrentPage = pageOne.xhtml) {сделать что-то} еще {сделать что-то другое }

Мой источник смотрит как то:

<?xml version="1.0" encoding="UTF-8"?> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:m="http://java.sun.com/jsf/composite/components/mmnet" 
    xmlns:c="http://java.sun.com/jsp/jstl/core"> 

    <h:form id="customerSearchForm"> 
.... 
... 

<c:if test=" "> 
<p:ajax event="rowSelect" oncomplete="initInfoPage();"/> 
</c:if> 

.... 
... 

Какое правильное выражение внутри?

тест = ...

Есть ли способ, чтобы получить какие страницы в настоящее время показано?

С уважением LStrike

+2

Я использовал # {view.viewId}, чтобы получить текущую страницу. Посмотрите на это [ПРИМЕР] (http://stackoverflow.com/a/3255120/1692632) – Darka

+1

# {view.viewId == 'pageOne.xhtm'} попробуйте это, я думаю, его работа – hayat

ответ

3

Вы можете получить идентификатор текущего вида с помощью #{view.viewID}. Это в основном физический путь к файлу клиента шаблона относительно корня webcontent.

Таким образом, это должно быть сделано при условии, что pageOne.xhtml находится непосредственно в корневом каталоге webcontent.

<c:if test="#{view.viewId == '/pageOne.xhtml'}"> 

Обратите внимание, что он начинается с косой черты и не содержит сопоставления JSF, если таковые имеются.

Смежные вопросы