将数据表中的选定行传递给Spring Web-Flow中的另一个状态

时间:2014-07-12 14:42:33

标签: jsf spring-mvc spring-webflow

我无法用我有限的Spring_flow知识来解决这个问题。这是我的两个观点状态。

    <view-state id="viewPatientState" view="viewPatient.xhtml" model="patient">
    <transition on="newPatient" to="addPatient" />
    <transition on="viewPatient" to="viewPatientState" />
    <transition on="viewPatientProfile" to="patientProfile">

    </transition>

</view-state>

<view-state id="patientProfile" view="patientProfile.xhtml" model="patient">
    <transition on="newPatient" to="addPatient" />
    <transition on="viewPatient" to="viewPatientState" />

</view-state>

我想从viewPatient发送患者对象或只是id(整数)给patientProfile.Here是我的viewPatient.xhtml。我只想传递所选行的id或所选对象。

<p:dataTable id="tbl" var="pat"
            value="#{patientService.getAllPatients()}" paginator="true"
            rows="10">

            <p:column>
                <f:facet name="header">
                    <h:outputText value="Hasta No" />
                </f:facet>
                <h:outputText value="#{pat.patientId}" />
            </p:column>

            <p:column exportable="false">
                <f:facet name="header">
                    <h:outputText value="Soyisim" />
                </f:facet>
                <h:outputText value="#{pat.lastName}" />
            </p:column>

            <p:column>
                <f:facet name="header">
                    <h:outputText value="İsim" />
                </f:facet>
                <h:outputText value="#{pat.firstName}" />
            </p:column>

            <p:column exportable="false">
                <f:facet name="header">
                    <h:outputText value="Yaş" />
                </f:facet>
                <h:outputText value="#{pat.age}" />
            </p:column>

            <p:column exportable="false">
                <f:facet name="header">
                    <f:facet name="header">
                        <h:outputText value="Profil" />
                    </f:facet>
                </f:facet>
                <p:commandLink id="profileLink" action="viewPatientProfile"
                    ajax="false">
                    <h:outputText value="Detay" />
                </p:commandLink>
            </p:column>
        </p:dataTable>

1 个答案:

答案 0 :(得分:0)

您正在使用&#34;患者&#34;作为视图状态定义中的模型。只需在Patient类中添加一个字段say selectedPatientId并在视图中引用它。 我相信你的病人&#34;模型是在流量计中。如果它在流量计中,它将保留用户选择。当你从视图导航&#34; viewPatientState&#34;查看&#34; patientProfile&#34;。

    public class Patient implements Serializable{
        public String selectedPatientId;
        ...
        //setters and getters
    }

您可以找到有关范围变量here的更多详细信息。