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

时间:2013-03-09 08:12:43

标签: jsf-2 richfaces spring-webflow-2

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

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

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

我能够取出行id,但我需要获取对象中提供的id字段来获取数据。我将如何使用spring-webflow实现这一目标。

1 个答案:

答案 0 :(得分:0)

以下是第二个要求的示例 选择一行并单击“查看详细信息”按钮,该按钮将在单独的屏幕中显示详细信息 我认为

  1. 您的pojo类名称是“YouPojoClass.java”
  2. 您的pojo类有(member1,member2,code)字段
  3. 您的extendedDataTable数据集将来自 yourFirstController.rowVariableList “YouPojoClass列表”
  4. 您的第一个页面控制器名称“ yourFirstController.java
  5. 您的第二个页面名称是“ secondPage.xhtml
  6. //在您的第一页屏幕

    <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");
        // .....
    }