我正在尝试使用DisplayTag渲染表格。当我以通常的方式渲染列时,一切正常:
<display:column property="id_material" title="ID" />
现在,我希望一列显示连接的2个属性。所以我尝试使用&lt; s:property&gt;标记:
<display:column title="UNIDAD"><s:property value="property1"/> <s:property value="property2"/></display:column>
但是列中没有显示任何值。有没有其他方法可以做到这一点?
答案 0 :(得分:2)
您可以使用装饰器,获取行对象属性并返回两者的串联。
一个简单的例子:
public class ExampleDecorator extends TableDecorator{
public String getConcatenatedProperties(){
Object object = getCurrentRowObject();
return object.getProperty1() + " " + getProperty2();
}}
然后在显示表中添加一列:
<display:column property="concatenatedProperties" title="Properties" />
要在displaytag中使用装饰器:
<display:table [..] decorator="org.example.ExampleDecorator" [...] >
答案 1 :(得分:0)
尝试在表标记中添加uid属性,然后可以通过请求属性访问Struts2中的当前行。请参阅以下代码:
<display:table name="list" uid="row">
<display:column title="UNIDAD"><s:property value="#attr.row.property1"/> <s:property value="#attr.row.property2"/>
</display:column>
</display:table>