2

我想根据当前显示的页面使用 ajax 标记。我正在使用 JSF 2 和 Primeface 3.5

if (currentPage = pageOne.xhtml){ 做一些事情 } else { 做一些不同的事情 }

我的来源是这样的:

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

4

1 回答 1

3

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

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

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

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

于 2013-04-24T11:45:16.047 回答