有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在与JSF2.0Spring-Webflow2.3.1richfaces4.2.3合作。 我有一个rich:extendedDataTable将显示一个数据列表(里面没有按钮)。 我需要实施->

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

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

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


共 (1) 个答案

  1. # 1 楼答案

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

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