逻辑:显示下拉菜单(来自 的数据TABLE_ONE
),page1.amx
并根据需要从中获取数据的选择TABLE_TWO
,然后将检索到的数据渲染到page2.amx
. 以下是我尝试过的示例,
我ServiceClass.java
在我的服务包中创建了服务类并DataControl (ServiceClassDC)
为该类创建。
从我的FirstPage.amx
我调用服务类方法使用valueChangeListener
下拉(下拉值将从数据库中填充,让我们获取TABLE_ONE
ID)。下面是这个逻辑的一段代码,
第一页.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
包含结果集数据的对象列表。
服务类.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);
}
}
现在,我想将 List 对象数据显示(productList)
到SecondPage.amx
屏幕中。这个怎么做?
如果您想了解有关此的更多详细信息,请在下面发表评论。