【发布时间】:2014-07-29 08:10:52
【问题描述】:
我正在寻找将 java.util.list 中的所有对象放在一个 textarea 中的最佳方法,每个记录都有一个返回行。
我不需要提交结果,因为我的 textarea 将被禁用。
例如: 这是人员列表:{person1,person2,person3} 我希望这些值出现在 JSP 中的 textarea 中:
person1.name person2.name person3.name 等等。
【问题讨论】:
我正在寻找将 java.util.list 中的所有对象放在一个 textarea 中的最佳方法,每个记录都有一个返回行。
我不需要提交结果,因为我的 textarea 将被禁用。
例如: 这是人员列表:{person1,person2,person3} 我希望这些值出现在 JSP 中的 textarea 中:
person1.name person2.name person3.name 等等。
【问题讨论】:
自定义 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 调用。
【讨论】: