Java 如何使用display:column创建colspan

Java 如何使用display:column创建colspan,java,jsp,el,jsp-tags,displaytag,Java,Jsp,El,Jsp Tags,Displaytag,我想在display:列中创建一个colspan,因此我尝试如下操作: <display:column style="width=50% colspan=2 " title="${textResources['Exam.endDate']}"> 但是它不起作用。似乎display:列中不允许使用此属性,那么如何做到这一点呢?要向display列添加colspan,您必须创建一个extends-the-TableDecorator类,重写方法init,在该方法中,您需要获取单元

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

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


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

要向display列添加colspan,您必须创建一个extends-the-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">


我希望这将帮助您

向显示列添加colspan,您必须创建扩展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">


我希望这将对您有所帮助

您使用displayTag吗?您使用displayTag吗?myHeader是什么,请给出更详细的答案对于我的情况,我将向display:列添加decorator属性,而不是添加到dipslay:表否您必须将其添加到display表中,我不确定是否有Columndcorator,我使用display table的decorator对其进行测试,但我希望colspan行为适用于特定列,而不是所有列。由于java.lang.ClassCastException异常,colspan table decorator无法使用myHeader,请给我一个更详细的答案我将把decorator属性添加到display:column而不是dipslay:table不你必须把它添加到display表中,我不确定是否有columndcorator,我使用display table的decorator对其进行测试,但我希望colspan行为适用于特定的列,而不是所有的列。由于java.lang.ClassCastException异常,ColspanTableDecorator无法使用