2013-03-09 39 views
1

我正在與JSF2.0,Spring-Webflow2.3.1richfaces4.2.3一起工作。 我有一個rich:extendedDataTable這將顯示一個數據列表(裏面沒有按鈕)。 我需要實現 - >富選中的行選擇和數據處理:extendedDataTable

  • 雙擊一個行即可在一個單獨的畫面細節。

  • 選擇一行,然後單擊「查看詳細信息」按鈕,這也將顯示在單獨的屏幕上的細節。

我能夠取出行id,但我需要獲取對象中提供的id字段來獲取數據。我將如何使用spring-webflow來實現這一點。

回答

0

以下是第二個需求示例
選擇一行並單擊「查看詳細信息」按鈕,該按鈕將在單獨的屏幕中顯示詳細信息。
我認爲

  1. 你的POJO類的名字是「YouPojoClass.java」
  2. 你的POJO類已設置extendedDataTable的(member1中,member2,代碼)領域
  3. 您的數據將從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"); 
    // ..... 
} 
+0

感謝您的快速響應。但是,數據表中沒有按鈕,rich:extendedDataTable之外只有一個按鈕(「查看細節」)。 – 2013-03-09 08:55:06

+0

然後你的'extendedDataTable'的'selectionMode'屬性必須是'single' – 2013-03-09 09:00:37

+0

根據你的實現,每一行都有一個'h:commandButton',並通過這個按鈕進行操作。但對我而言,不應該使用這樣的按鈕。 :( 此外,我應該使用'yourPojoClass.id'作爲'selectedRowId'。 – 2013-03-09 09:08:34