2013-04-24 107 views
2

我想根据当前显示的页面使用ajax标签。 我使用JSF 2和Primeface 3.5JSF获取当前页面

如果(当前页= 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}来获取当前页面。看看这个[EXAMPLE](http://stackoverflow.com/a/3255120/1692632) – Darka 2013-04-24 09:35:25

+1

#{view.viewId =='pageOne.xhtm'}请尝试这个我认为它的工作 – hayat 2013-04-24 11:26:24

回答

3

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

因此,应该这样做,前提是pageOne.xhtml直接位于web内容的根目录。

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

请注意,它以前导斜杠开始,并且不包含JSF映射(如果有)。