ロジック:ドロップダウン ( からのデータ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
ます。これを行う方法?
これに関する詳細が必要な場合は、以下にコメントしてください。