0

dataTableで選択した行情報を取得する必要がありますが、エラーが発生します。primefacesの公式ドキュメントに従いましたが、問題がどこにあるのか理解できません。コードは次のとおりです。

Xhtmlページ:

<p:dataTable id="groups" var="group" value="#{projectAdminisrationMB.groupsList}" rowKey="#{group.name}" selection="#{projectAdminisrationMB.selectedGroup}" selectionMode="single">

    <f:facet name="header">
    </f:facet>

    <p:column id="column2">
        <f:facet name="header">
            <h:outputText value="Group Name"></h:outputText>
        </f:facet>
        <p:graphicImage value="/images/group/#{group.name}.gif" />
        <h:outputText value="#{group.name}"></h:outputText>
    </p:column>

    <p:column id="column3">
        <f:facet name="header">
            <h:outputText id="text3" value=" Group Description "></h:outputText>
        </f:facet>
        <h:outputText value="#{group.description}"></h:outputText>
    </p:column>

    <f:facet name="footer">
        <p:commandButton value="See Permession " icon="ui-icon-search" oncomplete="permessionDlg.show()" />
    </f:facet>
</p:dataTable>

<p:dialog header="Modify Group" widgetVar="modifyGoupDlg" width="750" showEffect="explode" hideEffect="explode">
    <br />
    <br />
    <h:outputText value="New Group :" />&nbsp;  
    <p:inputText id="updatedGroupName" value="#{projectAdminisrationMB.selectedGroup.name}" required="true"></p:inputText>
    <br />
    <br />
    <h:outputText value="Group Description :" />
    <br />
    <br />
    <p:editor id="updatedGroupDescription" value="#{projectAdminisrationMB.selectedGroup.description}" width="600" />
    <br />
    <br />
    <p:commandButton id="ValidateModif" value="Validate" actionListener="#{projectAdminisrationMB.modifyGoup}" onclick="modifyGoupDlg.hide()"></p:commandButton>
    <p:commandButton id="CancelModif" value=" Cancel " onclick="modifyGoupDlg.hide()"></p:commandButton>

</p:dialog>

管理対象BeanProjectAdminisrationMBで、属性privateGroupselectedGroupを作成しました。ゲッターとセッター付き

エラー :

Avertissement: /manage_Project_Groups.xhtml @96,133 value="#{projectAdminisrationMB.selectedGroup.name}": Target Unreachable, 'selectedGroup' returned null
javax.el.PropertyNotFoundException: /manage_Project_Groups.xhtml @96,133 value="#{projectAdminisrationMB.selectedGroup.name}": Target Unreachable, 'selectedGroup' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:97)
at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
4

1 に答える 1

0

最初にフォームタグを配置しましたか? 皮切りに:

 <h:form id="form">
     //datatable
     //dialog
 </h:form>

また、oncomplete で permessionDlg.show() を呼び出していますが、それはページになく (またはページ全体を投稿していません)、更新を呼び出していないため、ポップアップが更新されることはありません。

変化する:

<p:commandButton value="See Permession " icon="ui-icon-search" oncomplete="permessionDlg.show()" />

p:commandButton value="See Permession " update=":form:display" icon="ui-icon-search" oncomplete="modifyGoupDlg.show()" />

これで問題が解決しない場合は、Bean コードと完全なページを投稿してください

于 2012-09-12T12:57:58.550 に答える