Commandbutton未传递对象



我正在尝试创建包含数据表记录的Dilogue框。我使用的是最新版本的primffaces实现。

以下是XHTML代码,

 <h:form prependId="false" id ="dilogueForm" > 
                    <p:dialog id="dialog" header="Car Detail" widgetVar="carDialog" resizable="false"  
                              showEffect="fade" hideEffect="explode">  
                        <h:panelGrid id="display" columns="2" cellpadding="4">  
                            <h:outputText value="Project:" />  
                            <h:outputText value="#{saveData.selectedProject.prjName}" />  
                            <h:outputText value="Description:" />  
                            <h:outputText value="#{saveData.selectedProject.prjDesc}" />  
                            <h:outputText value="Client:" />  
                            <h:outputText value="#{saveData.selectedProject.prjClientname}" />  
                            <h:outputText value="Effort:" />  
                            <h:outputText value="#{saveData.selectedProject.prjEffort}" />  
                            <p:column headerText="Color">  
                                <h:commandButton value ="Save" actionListener="#{saveData.selectProjectFromDialog(selectedProject)}" />  
                            </p:column> 
                        </h:panelGrid>  
                    </p:dialog>  
   </h:form> 

此处:

所选项目由以下数据表定义填充:

<p:dataTable id="ProjectDataTable" var="p" value="#{saveData.projectList}"  
                                     selection="#{saveData.selectedProject}" selectionMode="single" rowKey="#{p.prjId}">  

在托管bean上,

public void selectProjectFromDialog(Project project) {  
     System.out.println("Project"+project.toString());
    RequestContext.getCurrentInstance().closeDialog(project);  
}  

这里我得到的项目值为null。

你能帮忙吗?

<h:commandButton value ="Save" actionListener="#{saveData.selectProjectFromDialog(selectedProject)}" />  

应该是

<h:commandButton value ="Save" actionListener="#{saveData.selectProjectFromDialog(saveData.selectedProject)}" />  

试试这个:

<p:commandButton value ="Save" process="@this, display" partialSubmit="true" ajax="true" action="#{saveData.selectProjectFromDialog(saveData.selectedProject)}" /> 

相关内容

  • 没有找到相关文章

最新更新