Rich:extendedDataTable中的行选择和数据处理

问题描述 投票:1回答:1

我正在使用JSF2.0Spring-Webflow2.3.1richfaces4.2.3。我有一个rich:extendedDataTable,它将显示一个数据列表(其中没有按钮)。我需要实现->

  • 双击一行以在单独的屏幕上获取详细信息。

  • 选择一行并单击“查看详细信息”按钮,这还将在单独的屏幕中向我显示详细信息。

我能够取出行ID,但是我需要获取对象中提供的ID字段以获取数据。我如何使用spring-webflow使之成为可能。

java jsf-2 richfaces spring-webflow-2
1个回答
0
投票

这里是一个示例示例,作为第二个要求选择一行,然后单击“查看详细信息”按钮,这将在单独的屏幕中显示详细信息。我认为

  1. 您的pojo类名称为“ YouPojoClass.java”
  2. 您的pojo类具有((member1,member2,code)字段
  3. 您的extendedDataTable的数据集将从yourFirstController.rowVariableList“ YouPojoClass列表”中获得
  4. 您的首页控制器名称“ yourFirstController.java
  5. 您的第二页名称是“ secondPage.xhtml

//在您的首页屏幕中

<rich:extendedDataTable id="rowVariablepliersTable"
    value="#{yourFirstController.dataModel}" var="rowVariable">

    <rich:column width="300px">
        <f:facet name="header">
            <h:outputText value="member1" />            
        </f:facet>
        <h:outputText value="#{rowVariable.member1}" />
    </rich:column>

    <rich:column width="300px">
        <f:facet name="header">
            <h:outputText value="member2" />            
        </f:facet>
        <h:outputText value="#{rowVariable.member2}" />
    </rich:column>

    <rich:column width="90px">
        <f:facet name="header">
            <h:outputText value="view" />
        </f:facet>
        <h:commandButton 
            title="view" 
            value="view"
            action="#{yourFirstController.edit(rowVariable)}"/>
        </h:commandButton>
    </rich:column>
</rich:extendedDataTable>

//在您的首页控制器中

public String view(YouPojoClass rowVariable) {      
    Map<String, Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
    requestMap.put("SELECTED_ITEM_ID", rowVariable.getCode());  
    return "secondPage";
}  

//在第二个页面控制器中

public void postConstruct() {
    Map<String, Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
    String SELECTED_ITEM_ID = requestMap.get("SELECTED_ITEM_ID");
    // .....
}
© www.soinside.com 2019 - 2024. All rights reserved.