一尘不染

如何用显示器制作列斯潘

jsp

我想colspan在display:column中创建一个,因此我尝试如下进行操作:

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

但它似乎不起作用,似乎在display:column中不允许使用此属性,那么该怎么做呢?


阅读 180

收藏
2020-06-10

共1个答案

一尘不染

要将colspan添加到显示列,您必须创建Table
Decorator来
扩展TableDecorator类,覆盖方法init,在此方法中,您需要获取单元格的标题并添加colspan属性。

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">

我希望这能帮到您

2020-06-10