1

我正在使用 Primefaces Datatable-ContextMenu 和 Dialog 更新一行(单击到 contextmenu 后,它会打开一个对话框,其中包含将更新对象的字段<p:inputext />)。

我在构造函数上尝试了动态真实的初始化对象,因为当页面呈现时,selectedObject 在对话框中将为空,当我尝试使用它时,它会给出空指针异常,因此我需要其他建议。

这是上下文菜单:

<p:contextMenu for="functions" id="functionContextMenu">  
<p:menuitem value="Guncelle" icon="ui-icon-" update="updateDialog" oncomplete="updateDialog.show()"/>

我的对话在这里:

<p:dialog header="Guncelle" widgetVar="updateDialog" resizable="false"
width="200" showEffect="clip" hideEffect="fold" id="updateDialog" dynamic="true">  
    <h:panelGroup id="display">  
        <h:outputText value="#{functionControllerBean.selectedFunction.functionName}" />
        <h:inputText id="firstName" value="{functionControllerBean.tempSelectedFunction1.functionName}" />  
    </h:panelGroup>  
</p:dialog>

如果我不使用<p:inputText />它并显示我放的内容<h:outputText />,但是当我将 p:inputext 放在对话框中时;它不会显示输出文本值并且<p:inputText />即使不是也显示为空。

我以前用过beanname.objectname.fieldinside of <p:inputText />or<h:inputText />但没问题,但现在不行了。

这是我的 ManagedBean :

@ManagedBean
@RequestScoped
public class FunctionControllerBean implements Serializable {
    private EfaFunctions willAddFunction;
    private EfaFunctions selectedFunction = new EfaFunctions();

提前致谢

更新这里是页面

<h:form id="form">   
        <p:contextMenu for="functions" id="functionContextMenu">  
            <p:menuitem value="Guncelle" icon="ui-icon-" update="updateDialog"  oncomplete="updateDialog.show()"/>                  
            <p:menuitem value="Sil" update="@form" icon="ui-icon-close" actionListener="#{functionControllerBean.deleteFunction}"/>  
        </p:contextMenu>  
        <p:dataTable resizableColumns="true" id="functions" var="function" value="#{functionControllerBean.functions}" rowKey="#{function.functionId}"  
                     selection="#{functionControllerBean.selectedFunction}" selectionMode="single">  

            <p:column headerText="Id">  
                #{function.functionId}  
            </p:column>  
            <p:column headerText="Key ">  
                #{function.functionKey}  
            </p:column>  

            <p:column headerText="Isim" >  
                #{function.functionName}  
            </p:column>          
            <p:column headerText="Tip" >  
                #{function.functionType}  
            </p:column>   
            <p:column headerText="Url" >  
                #{function.uri}  
            </p:column>    
            <p:column headerText="Olusturulma Tarihi" >  
                #{function.creationDate}  
            </p:column>          
            <p:column headerText="Guncelleme Tarihi" >  
                #{function.lastUpdateDate}  
            </p:column>          
            <p:column headerText="Olusturan Kisi" >  
                #{function.createdBy}  
            </p:column>          
            <p:column headerText="Guncelleyen Kisi" >  
                #{function.createdBy}  
            </p:column>          

        </p:dataTable>   
        <p:dialog header="Islem  Sonucu" widgetVar="actionResult" resizable="false"  
                  width="200" showEffect="clip" hideEffect="fold" id="actionResult"
                  visible="#{functionControllerBean.actionResult!=null}"> 
            <h:outputText value="#{functionControllerBean.actionResult}"/>
        </p:dialog>

        <p:dialog header="Guncelle" widgetVar="updateDialog" resizable="false"
                  width="200" showEffect="clip" hideEffect="fold" id="updateDialog" >  
            <h:panelGroup id="display">  
                <h:outputText value="#{functionControllerBean.selectedFunction.functionName}" />
                <p:inputText value="#{functionControllerBean.selectedFunction.functionName}"/>
            </h:panelGroup>  
        </p:dialog>  

    </h:form>  
4

0 回答 0