1

JSF2.0Spring-Webflow2.3.1および で作業していrichfaces4.2.3ます。データのリストを表示するがrich:extendedDataTableあります (その中にボタンはありません)。実装する必要があります->

  • 行をダブルクリックすると、別の画面に詳細が表示されます。

  • 行を選択して [詳細を表示] ボタンをクリックすると、別の画面に詳細が表示されます。

行 ID を取り出すことはできますが、データを取得するには、オブジェクトで提供されている ID フィールドを取得する必要があります。を使用してこれを可能にするにはどうすればよいですかspring-webflow

4

1 に答える 1

0

2 番目の要件としてのサンプル例を次に示し
ます。行を選択し、[詳細を表示] ボタンをクリックすると、別の画面に詳細が表示されます。
私はそれを仮定します

  1. pojoクラス名は「YouPojoClass.java」です。
  2. pojoクラスには(member1,member2,code) フィールドがあります
  3. extendedDataTable のデータ セットは、yourFirstController.rowVariableList "List of YouPojoClass"から取得されます。
  4. 最初のページ コントローラー名 " yourFirstController.java "
  5. 2 番目のページ名は「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";
}  

// 2 番目のページ コントローラーで

public void postConstruct() {
    Map<String, Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
    String SELECTED_ITEM_ID = requestMap.get("SELECTED_ITEM_ID");
    // .....
}
于 2013-03-09T08:43:56.877 に答える