我是Java,JSTL,CSS,JSP的新手…与Java有关的任何东西和Web应用程序世界。并且我正在同时学习和制作自己的Web程序(使用Spring MVC)。
现在,我将在.jsp文件中使用JSTL根据条件设置2种不同的背景颜色。我的条件是中位数。所以带有jstl的jsp文件中的逻辑应该是这样的:
if (value < median) // set background: green else // set background: red
我已经完成了Controller中中值的所有计算。因此,我的控制器提供了数据的中值以及整数类型和字符串类型
(我注意到无法在浏览器页面上显示整数类型的数据,对吗?[Q1]
因此,Integer类型用于带中间值的条件操作,字符串类型用于在浏览器上显示)
model.addAttribute("dataNo", dataNo); model.addAttribute("dataStr", dataStr); model.addAttribute("dataInt", dataInt); model.addAttribute("median", median);
我的 像这样的jsp
(我的桌子越来越多)
<table class="table table-bordered"> <tbody> <tr> <c:forEach var="dataNoValue" items="${dataNo}"> <th>${dataNoValue}</th> </c:forEach> </tr> <tr> <c:forEach var="dataStrValue" items="${dataStr}"> <th class="${dataInt < median ? 'background-color: green':'background-color: red'}">${dataStrValue}</th> -- [Q2] </c:forEach> </tr> </tbody> </table>
是的,[Q2]是错误的,有什么建议吗?感谢!
您应该用样式属性替换类属性,如下所示:
<th style="${dataInt < median ? 'background-color: green':'background-color: red'}">${dataStrValue}</th>
或创建绿色和红色两个类,并像这样使用它们:
<style> .green{background-color: green} .red{background-color: red} </style> <th class="${dataInt < median ? 'green':'red'}">${dataStrValue}</th>