首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSF中更新和呈现标签

在JSF中更新和呈现标签
EN

Stack Overflow用户
提问于 2011-05-21 06:26:42
回答 2查看 2.4K关注 0票数 0

我正在尝试使用primefaces中的update标记显示/不显示primefaces datatable。

当我重新加载(F5)页面时,表将正确呈现,但随后我将丢失输入到表单中的所有数据。我到处寻找ajax解决方案,但到目前为止还找不到任何解决方案。

我的代码:

代码语言:javascript
复制
<h:form id="adminForm">
  <h:selectOneMenu id="adminTypeMenu" value="#{adminBean.orgType}">
    <f:selectItem itemValue="" itemLabel="- Select One -"/>
    <p:ajax actionListener="#{adminBean.updateOrgType}" update="adminForm" />
  </h:selectOneMenu>
  <p:dataTable id="adminMacTable" value="#{adminBean.currentArray}" var="currentOrg" 
    rendered="#{adminBean.Type eq 'bco'}" selection="#{adminBean.selectedMac}"
    emptyMessage="No Records Found">
    ...
  </p:dataTable>
</h:form>

当前的实现显示了dataTable,但擦除了我输入的所有表单。有没有一种方法可以在不清除表单值的情况下呈现datatable?

更新:只是尝试了相同的代码,没有使用,但得到了相同的结果,仍然尝试其他方法!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-21 13:21:46

试试这个:

代码语言:javascript
复制
 <h:form id="adminForm" prependId="false">
  <h:selectOneMenu id="adminTypeMenu" value="#{adminBean.orgType}">
    <f:selectItem itemValue="" itemLabel="- Select One -"/>
    <p:ajax actionListener="#{adminBean.updateOrgType}" update="adminMacOutput" />
  </h:selectOneMenu>
  <p:outputPanel id="adminMacOutput">
  <p:dataTable id="adminMacTable" value="#{adminBean.currentArray}" var="currentOrg" 
    rendered="#{adminBean.Type eq 'bco'}" selection="#{adminBean.selectedMac}"
    emptyMessage="No Records Found">
    ...
  </p:dataTable>
  </p:outputPanel>
 </h:form>

如果这样做不起作用,请尝试将datatable放在一个单独的表单中,然后更新第二个表单。

票数 0
EN

Stack Overflow用户

发布于 2011-05-21 06:49:26

我猜AdminBean可能在request作用域中,在这种情况下,ajax事件将更新它,但是当您按下F5时,它会被重新创建。如果是这样,那么ViewScoped将提供帮助:

代码语言:javascript
复制
@ManagedBean(name = "adminBean")
@ViewScoped
public class AdminBean {

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6078178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档