切换到GlassFish4后,Ajax加载的数据无法正常工作

时间:2013-09-30 08:12:03

标签: java ajax maven primefaces java-ee-7

这是我的问题。我有一个Java EE 6 Web应用程序,GUI在PrimeFaces中完成。我们不得不切换到Java EE 7,因此我们可以使用GlassFish4。

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

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

提前谢谢。

更新

更清楚问题:

  1. 使用用户名和密码登录应用程序 - 工作(数据库连接在那里并且正在运行)
  2. 首页加载搜索表单:
  3. 这里是代码:

    <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 - witch包含有关所选行(DataEntity)的完整信息。 h:具有id搜索表单的表单在对话框之前结束。

    <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)。

    我怀疑该按钮的“update”参数在Java EE 6中无法正常工作?

0 个答案:

没有答案