我想使用基于哪个页面当前显示的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映射(如果有的话)。