Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.1.0.5
-
None
-
Tapestry 5.1.0.5
JDK5
Description
Below is the example
KeyedObject.java:used to store string keyed object
import java.util.*;
import java.util.Map.Entry;
public class KeyedObject<T> {
private String key;
private T value;
public String getKey()
public void setKey(String key)
{ this.key = key; }public T getValue()
{ return value; }public void setValue(T value)
{ this.value = value; }
}
page java class:dbpools simply put BasicDataSource and its key name into a KeyObject list
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.elite.predictob.EliteOBManagerProxy;
import com.elite.predictob.KeyedObject;
public class dbpools {
@Inject
private EliteOBManagerProxy proxy;
@Property
private KeyedObject<BasicDataSource> datasource;
public List<KeyedObject<BasicDataSource>> getDatasources()
{
Map dbmap=proxy.getManager().getDataSources();
synchronized (dbmap) {
List<KeyedObject<BasicDataSource>> list=new LinkedList<KeyedObject<BasicDataSource>>();
Iterator<Entry<String,BasicDataSource>> it=dbmap.entrySet().iterator();
while(it.hasNext())
return list;
}
}
}
page template:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
xmlns="tapestry:parameter"
xmlns:cl="cl">
<head>
<t:elite.cachecontrol.cachecontrol/>
<title>${message:dbpoolconfig}</title>
</head>
<body>
<table border="1">
<tr t:type="loop" t:element="tr" t:source="datasources" value="datasource">
<td>${datasource.key}</td><td>${datasource.value.numActive}</td>
</tr>
</table>
</body>
</html>
${datasource.value.numActive} will cause following error:
Could not convert 'datasource.value.numActive' into a component parameter binding: Class java.lang.Object does not contain a property named 'numActive' (within property expression 'datasource.value.numActive'). Available properties: class.