0

ロジック:ドロップダウン ( からのデータTABLE_ONE) を表示page1.amxし、 からデータを取得する必要がある選択に基づいてTABLE_TWO、取得したデータを にレンダリングしますpage2.amx。以下は私が試したサンプルです、


ServiceClass.javaサービス パッケージにサービス クラスを作成DataControl (ServiceClassDC)し、そのクラス用に作成しました。

私から、ドロップダウンFirstPage.amxを使用してサービスクラスメソッドを呼び出しvalueChangeListenerています(ドロップダウン値はDBから入力されますTABLE_ONE。IDを取得しましょう)。以下は、このロジックのコードです。

FirstPage.amx

<amx:selectOneChoice value="#{bindings.selectId.inputValue}" label="Select Id" id="soc1"
                         valueChangeListener="#{ServiceClass.callThisMethod}">
      <amx:selectItems value="#{bindings.selectId.items}" id="si1"/> 
</amx:selectOneChoice>

WHERE条件を使用した選択に基づいてproductList、結果セット データを持つオブジェクトのリストを取得しました。

ServiceClass.java

public void callThisMethod(ValueChangeEvent valueChangeEvent) {
    System.out.println("Selected Value: "+valueChangeEvent.getNewValue());
    String selectedValue = valueChangeEvent.getNewValue().toString();

    ClassMappingDescriptor descriptor = ClassMappingDescriptor.getInstance(TableTwo.class);
    DBPersistenceManager pm = getLocalPersistenceManager();

    try{        
    StringBuffer sql = pm.getSqlSelectFromPart(descriptor);
    sql.append(" WHERE ID='"+selectedValue+"'");
    sql = pm.constructOrderByClause(sql, descriptor);
    ResultSet set = pm.executeSqlSelect(sql.toString(), new ArrayList());
    System.out.println("Result set >> "+set);
    List productList = pm.createEntitiesFromResultSet(set, (List) descriptor.getAttributeMappingsDirect());
    System.out.println("productList "+productList);
    } catch(Exception exp){
        System.out.println("Exception : "+exp);
    }

}

(productList)ここで、List オブジェクトのデータを画面に表示したいと思いSecondPage.amxます。これを行う方法?

これに関する詳細が必要な場合は、以下にコメントしてください。

4

1 に答える 1