JSP中关于标签的使用

时间:2022-01-10 05:54:57
目前有个需求:
循环描画100个table,各个table的某行的背景色由后台设定的值(dto.color1,dto.color2,...)决定
<c:forEach items="100" varStatus="status">
 <table id="table${status.index}">
  <tr>
   <td>标签${status.index}</td>
  </tr>
  <tr>
   <td  style="background-color:${dto.color}" />
  </tr>
 </table>
</c:forEach>
想要的结果是,id为table1的某行的背景色是dto.color1,id为table2的某行的背景色是dto,color2,...(其中1,2,...是取status.index值),
由于不能这样使用:
<td style="background-color:${dto.color${status.index}}" />,
我也尝试过在后台弄个colorList,在前台这么用:
<td style="background-color:${dto.colorList.get(status.index)}" />,还是不行,报错了。
另外,forEach 标签的items也是固定的(100),不能改动,请各位高手指点红字处应该怎样写,或者用其他什么方式可以实现这一的功能,谢谢!

11 个解决方案

#1


${dto.color1}"  ${dto.color2 }" 可以输出结果吗

#2


style="background-color:${dto.color1}"可以输出结果

#3


1、td样式暂时设置为style="background-color:${dto.color}"
2、当页面加载完用js设置为background-color:$(dto.color1)
js代码(jquery)
        $(function () {
            //循环页面所有的table
            $("table").each(function(i){
                    //获取当前table的索引,比如1、2、3
                    var index=$(this).attr("id").substr("table".length);
                    //组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
                    var backgroundcolorStr=$(this).find("tr:eq(1)>td").css("background-color")+index;
                    //设置新的样式
                    $(this).find("tr:eq(1)>td").css("background-color",backgroundcolorStr);
            })
        });

#4


参考这个拼接好。

<c:set var="str" value="${abc}${def}${ghi}"></c:set>   


输出。
 ${str}

#5


求大神解释下这段代码,多谢:
//组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
$(this).find("tr:eq(1)>td").css("background-color")+index

#6


<c:set var="str" value="${abc}${def}${ghi}"></c:set> 
这个不会用哦,还请大神指点,多谢!

#7



这样不行吗?
<c:set var="myStyle" value="${dto.color}${status.index}"></c:set> 

<td style="background-color:${myStyle}" />

#8


引用 5 楼 u010844719 的回复:
求大神解释下这段代码,多谢:
//组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
$(this).find("tr:eq(1)>td").css("background-color")+index

xx为${dto.color}的值(可能为#xxxx,或者其他的值)

#9


多谢各位大神的回答,我先整理下,再试试!

#10


<td style="background-color:${dto.color}" />
这个dto.color是什么?

#11


最后还是用数组实现的:
style="background-color:${dto.colorArr[status.index]}"
还是感谢各位大神的积极指导!

#1


${dto.color1}"  ${dto.color2 }" 可以输出结果吗

#2


style="background-color:${dto.color1}"可以输出结果

#3


1、td样式暂时设置为style="background-color:${dto.color}"
2、当页面加载完用js设置为background-color:$(dto.color1)
js代码(jquery)
        $(function () {
            //循环页面所有的table
            $("table").each(function(i){
                    //获取当前table的索引,比如1、2、3
                    var index=$(this).attr("id").substr("table".length);
                    //组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
                    var backgroundcolorStr=$(this).find("tr:eq(1)>td").css("background-color")+index;
                    //设置新的样式
                    $(this).find("tr:eq(1)>td").css("background-color",backgroundcolorStr);
            })
        });

#4


参考这个拼接好。

<c:set var="str" value="${abc}${def}${ghi}"></c:set>   


输出。
 ${str}

#5


求大神解释下这段代码,多谢:
//组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
$(this).find("tr:eq(1)>td").css("background-color")+index

#6


<c:set var="str" value="${abc}${def}${ghi}"></c:set> 
这个不会用哦,还请大神指点,多谢!

#7



这样不行吗?
<c:set var="myStyle" value="${dto.color}${status.index}"></c:set> 

<td style="background-color:${myStyle}" />

#8


引用 5 楼 u010844719 的回复:
求大神解释下这段代码,多谢:
//组装新的样式字符串,比如原来样式为xx,那么现在样式为xx1
$(this).find("tr:eq(1)>td").css("background-color")+index

xx为${dto.color}的值(可能为#xxxx,或者其他的值)

#9


多谢各位大神的回答,我先整理下,再试试!

#10


<td style="background-color:${dto.color}" />
这个dto.color是什么?

#11


最后还是用数组实现的:
style="background-color:${dto.colorArr[status.index]}"
还是感谢各位大神的积极指导!