1

我正在尝试使用 DisplayTag 呈现表格。当我以通常的方式呈现列时,一切正常:

<display:column property="id_material" title="ID" />

现在,我想要一列显示连接的 2 个属性。所以我尝试使用 < s:property > 标签:

<display:column title="UNIDAD"><s:property value="property1"/> <s:property value="property2"/></display:column>

但该列中没有显示任何值。有没有其他方法可以做到这一点?

4

2 回答 2

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" [...] >
于 2012-06-21T15:42:51.940 回答
1

尝试在table标签中添加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>
于 2013-08-16T16:17:38.850 回答