如何使用display:column制作colspan

时间:2013-12-15 11:35:26

标签: java jsp el jsp-tags displaytag

我想在display:列中创建一个colspan,所以我尝试按以下方式执行:

<display:column style="width=50% colspan=2 " title="${textResources['Exam.endDate']}"> 

但它不起作用似乎不允许在display:列中使用此属性,那么如何做到这一点?

1 个答案:

答案 0 :(得分:1)

要向显示列添加colspan,您必须创建Table Decorator扩展TableDecorator类,重写方法init,在此方法中,您需要获取单元格的标题并添加colspan属性。 / p>

package org.hannibal.utils.view.decorators;    
import java.util.List;

import javax.servlet.jsp.PageContext;

import org.displaytag.decorator.TableDecorator;
import org.displaytag.model.HeaderCell;
import org.displaytag.model.TableModel;
import org.displaytag.util.HtmlAttributeMap;

public class ColspanTableDecorator extends TableDecorator {

    @Override
    public void init(PageContext pageContext, Object decorated,
            TableModel tableModel) {
        super.init(pageContext, decorated, tableModel);
        List headersList = tableModel.getHeaderCellList(); 
        HeaderCell myHeader = (HeaderCell)headersList.get(0);
        HtmlAttributeMap map = myHeader.getHeaderAttributes();
        map.put("colSpan", "2");            
    }   
}

在jsp中我使用它。

<display:table name="sessionScope.employees" pagesize="10" cellpadding="2" cellspacing="0"
        decorator="org.hannibal.utils.view.decorators.ColspanTableDecorator">

我希望这会对你有所帮助