JSF获取当前页面



我想使用基于哪个页面当前显示的ajax标记。我正在使用JSF 2和Primeface 3.5

If (currentPage = pageOne.xhtml){做某事}else{做某事不同}

My Source是这样的:

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

可以通过#{view.viewID}获取当前视图的ID。这基本上是模板客户端文件的物理路径,相对于webcontent根目录。

所以,只要pageOne.xhtml直接位于web内容的根目录中,就应该这样做。

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

请注意,它以斜杠开头,并且不包含JSF映射(如果有的话)。

最新更新