想象一下POJO“员工”,它有三个属性。
public Class Employee{
private String id;
private String name;
private double salaray;
}
我有一个获取Employee列表的方法。在jsp中,我显示带有标记的列表。
<s:iterator value="listEmployee">
<s:property value="id"/>
<s:property value="name"/>
</s:iterator>
如您所见,我在迭代器中只显示了两列。现在在我的情况下,我如何动态地在迭代器中添加字段工资?
这是与我的实际情况相关的小例子。任何人都可以投光吗?
答案 0 :(得分:0)
我没有看到任何实际的方法。如果您将视图设置为处理此类动态对象,则可以使用反射完成,但我会建议Apache BeanUtils。
假设你做的事情(未经测试):
public class Introspector{
private BeanMap properties;
public Introspector(){
myProperties = new BeanMap(this);
}
public Set getProperties(){
return properties.keySet();
}
}
完成后,Employee类应该能够使用它......
public class Employee extends Introspector{
private String id;
private String name;
private double salaray;
//getters setters for above properties
}
然后在视图中你可以说...
<s:iterator value="listEmployee">
<s:iterator value="properties">
<s:property>
</s:iterator>
</s:iterator>