0

这是我的问题。我有一个 Java EE 6 Web 应用程序,GUI 是在 PrimeFaces 中完成的。我们必须切换到 Java EE 7 才能使用 GlassFish4。

所有的转换几乎都是在 pom.xml 文件中更改/添加 versins/packages。但是现在 - 在数据库中进行搜索按预期工作 - 数据显示在表格中,但如果我不手动刷新页面,则显示来自搜索(结果表)的数据的对话框不起作用。

一旦我在工作,我会提供一些代码,但现在有什么我应该考虑或检查的吗?

先感谢您。

更新:

为了更清楚地了解问题:

  1. 使用用户名和密码登录应用程序 - 工作(数据库连接在那里并且正在工作)
  2. 第一页加载一个搜索表单:

这里是代码:

<h:form id="searchform">
 ...
<p:commandButton value="Search data" action="#{searchDataBean.searchData}" styleClass="button positive" update="@form" >
            </p:commandButton> &nbsp;
            <p:commandButton value="Clear fields" styleClass="button negative" update="@form" action="#{searchDataBean.clearFields}">
            </p:commandButton>
...
<p:dataTable
                value="#{searchDataBean.similarData}"
                paginator="true"
                var="item"
                style="width: 100%"
                id="alleSucheTreffer"
                paginatorTemplate="All: #{searchDataBean.similarData.rowCount} Results {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                resizableColumns="true"
                rows="10"
                rowKey="#{item.id}"
                selectionMode="single"
                rendered="true">

这一直有效,直到您进行第一次搜索,然后每次选择搜索数据时都会重置表单中的下拉菜单,并且不会更新数据表。

在每一行的数据表中都有一个按钮:

<p:commandLink  styleClass="button positive" update=":detailsDialog" oncomplete="dialog1.show()" actionListener="#{searchDataBean.clearWorkerStatus}">
    <span class="ui-icon ui-icon-search"> </span>
    <f:setPropertyActionListener value="#{item}" target="#{searchDataBean.details}" />
</p:commandLink>

它必须显示 dialog1 - 女巫包含有关所选行(DataEntity)的完整信息。h:form with id searchform 在对话框之前结束。

<p:dialog id="detailsDialog" header="Data Details" dynamic="true" widgetVar="dialog1" hideEffect="explode" modal="true">
      <f:facet name="header">
              <h:outputText value="Data ID: #{searchDataBean.details.id}" style="background: transparent; font-weight: bold; font-size: 1.2em;" />
      </f:facet>
      <f:facet name="closeIcon">
            test
      </f:facet>
      <h:form>
                ...

searchDataBean 中的 searchData 方法检查表单中的字段,创建 HashMap 并将其发送到 DAO,结果存储在私有变量中(getter 和 setter 在那里)并作为 DataModel 返回(PrimeFaces 要求作为 ListDataModel)。

我怀疑按钮的“更新”参数在 Java EE 6 中没有像预期的那样工作?

4

0 回答 0