我正在寻找将java.util.list中的所有对象放在一个textarea中的最佳方法,并为每条记录添加一条返回行。
我不需要提交结果,因为我的textarea将被禁用。
例如: 这是人员名单:{person1,person2,person3} 我希望这些值出现在JSP中的textarea中:
person1.name person2.name person3.name 等。
答案 0 :(得分:0)
自定义getter(例如,对于"虚拟"属性)如何根据需要从列表中创建字符串并使该属性值成为文本区域的内容? (当然,您也可以将该字符串存储在某个地方,并手动使其保持最新状态。)
示例:
public String getTextAreaContent() {
StringBuilder sb = new StringBuilder();
for( Person p : personlist ) {
if( sb.length() > 0 ) { //already content in the sb
sb.append("\n"); //or maybe you'd need a <br>
}
sb.append( p.name );
}
return sb.toString();
}
在JSP中:
<s:property value="textAreaContent"/>
另一种选择可能是在jsp上使用迭代器并在那里构建内容,但由于涉及的OGNL调用次数较多,这至少会产生稍差的性能。