2012-06-21 56 views
1

我想使用DisplayTag呈現表格。在DisplayTag中使用Struts2屬性標記

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

現在,我想一列顯示2個屬性級聯:當我呈現以通常的方式一欄一切正常。所以,我嘗試使用< S:property>標記:

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

但是,沒有值列顯示。有沒有其他方法可以做到這一點?

回答

2

您可以使用裝飾器,獲取行對象屬性並返回兩者的連接。

一個簡單的例子:

public class ExampleDecorator extends TableDecorator{ 

    public String getConcatenatedProperties(){ 

    Object object = getCurrentRowObject(); 
    return object.getProperty1() + " " + getProperty2(); 

}} 

然後添加在顯示錶中的列:

<display:column property="concatenatedProperties" title="Properties" /> 

要使用由標籤裝飾:

<display:table [..] decorator="org.example.ExampleDecorator" [...] > 
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> 
相關問題