我想根据当前显示的页面使用ajax标记。 我正在使用JSF 2和Primeface 3.5
if(currentPage = pageOne.xhtml){做某事}别的{做点什么 不同}
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>
....
...
里面的正确表达是什么?
test = ...
有没有办法获得当前显示的页面?
此致 LStrike
答案 0 :(得分:3)
您可以通过#{view.viewID}
获取当前视图的ID。这基本上是模板客户端文件的物理路径,相对于webcontent root。
所以,如果pageOne.xhtml
直接位于webcontent的根目录中,则应该这样做。
<c:if test="#{view.viewId == '/pageOne.xhtml'}">
请注意,它以前导斜杠开头,并且不包含JSF映射(如果有)。