相关疑难解决方法(0)

在render/update属性中获取模板中父命名容器的id

我有一个模板,在其定义中我使用了几个表单和按钮.

问题是定义(定义)xhtml文件不知道组件层次结构.

例如,我想在同一个定义文件中以不同的形式更新元素"table2".

模板插入:

<p:tabView id="nav"> <!-- nav -->
    <ui:insert name="content_nav">content navigation</ui:insert>
</p:tabView>
Run Code Online (Sandbox Code Playgroud)

定义我的层次结构"nav"的第一级

模板定义:

<ui:define name="content_nav">
    <h:form id="form1"> <!-- nav:form1 -->
        <h:dataTable id="table1"/> <!-- nav:form1:table1 -->
        <p:inputText value="#{bean.value}"/>
        <p:commandButton action="..." update="nav:form2:table2"/>
    </h:form>
    <h:form id="form2">
        <h:dataTable id="table2"/> <!-- nav:form2:table2 -->
        <!-- other elements -->
    </h:form>
</ui:define>
Run Code Online (Sandbox Code Playgroud)

在我的定义部分,我不想知道"导航"!

我怎样才能做到这一点?或者如何向上移动一个命名组件?或者将最高父完整ID保存在变量中?

有时我看到类似的东西:

update=":table2"
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何关于这个的信息?,JavaEE 6文档只是提到@关键字.

el naming-containers primefaces jsf-2

17
推荐指数
1
解决办法
3万
查看次数

f:ui中的ajax:重复,组件的未知id

当我尝试通过ajax调用渲染panelGroup时,它会给出未知的id.

<h:form id="form1" prependId=false>
  <h:panelGroup id="panel1">
       <h:dataTable/>
       <ui:repeat value="#{bean.page}" var="page">
          <h:commandLink value="#{page}">
              <f:ajax execute="@form" render="panel1" listener="#{bean.page}" />
          </h:commandLink>
       </ui:repeat>
  </h:panelGroup>     
 </h:form>
Run Code Online (Sandbox Code Playgroud)

当我尝试这段代码时,它会给出未知的id panel1.我尝试了id":panel1".我犯了同样的错误.

jsf-2

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

jsf-2 ×2

el ×1

naming-containers ×1

primefaces ×1