2012-06-21 1 views
1

DisplayTag를 사용하여 테이블을 렌더링하려고합니다. 모든 것이 정상적인 방식으로 열을 렌더링 할 때 정상적으로 작동합니다.DisplayTags에서 Struts2 속성 태그 사용

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

이제 하나의 열에 연결된 2 개의 속성이 표시되기를 원합니다. 부동산> 태그 : 그래서 <의를 사용하여 시도

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

그러나 값은 열에 보여되지 않습니다. 이 작업을 수행 할 수있는 다른 방법이 있습니까?

답변

2

데코레이터를 사용하여 행 개체 속성을 가져 와서이 둘의 연결을 반환 할 수 있습니다.

빠른 예 : 추가

<display:table [..] decorator="org.example.ExampleDecorator" [...] > 
0

시도 :

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

은 displaytag에 장식을 사용하려면 :

public class ExampleDecorator extends TableDecorator{ 

    public String getConcatenatedProperties(){ 

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

}} 

는 그런 다음 디스플레이 테이블에 열을 추가 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>