我有一个jsp页面,其中我在数据库表中显示记录。每条记录中都有一个状态字段,显示确定或不正常。我要求我需要根据以下规则更改HTML表的标题背景
如果所有记录的状态都正常,那么标题背景将为绿色。
如果所有记录的状态都不正常,则标题背景将显示为深红色。
如果某些记录的状态不正常,则标题背景将为黄色。
我该如何实现?
答案 0 :(得分:0)
应根据状态值通过适当更改CSS类来更改样式。
如何执行此操作取决于您如何生成HTML。
如果使用服务器端,使用Velocity或Thymeleaf等动态模板解决方案,则应使用模板中的if / else逻辑更改类名。
如果你想要一个客户端解决方案,那么jquery最适合DOM操作。
答案 1 :(得分:0)
可能的其他解决方案:我已经过去了。我不确定这是不是正确的做法。
现在您将数据库中的行提取到表中的jsp页面中。 在您获取时,检查是否所有记录状态都是
分别设置一个变量int status to 1,2 or 3
。
在表格后面创建一个隐藏的div,并为其提供状态值。
<div id="hiddenx" hidden> <%=status%> </div>
现在使用Javascript
window.onload = function() {
var x = document.getElementById("hiddenx").value;
if(x == 1){
document.getElementById("header").style.color = "green";
}else if(x == 2){
document.getElementById("header").style.color = "darkred"; // set the colrrect one
}else{
document.getElementById("header").style.color = "yellow";
}
};
答案 2 :(得分:0)
我建议您在java代码中设置不同版本的状态,然后您可以在jsp页面中获取它们并实现您的目的。