如何根据java中对象的更改来更改HTML字段的样式?

时间:2015-07-31 10:45:18

标签: javascript java jquery html jsp

我有一个jsp页面,其中我在数据库表中显示记录。每条记录中都有一个状态字段,显示确定或不正常。我要求我需要根据以下规则更改HTML表的标题背景

  1. 如果所有记录的状态都正常,那么标题背景将为绿色。

  2. 如果所有记录的状态都不正常,则标题背景将显示为深红色。

  3. 如果某些记录的状态不正常,则标题背景将为黄色。

  4. 我该如何实现?

3 个答案:

答案 0 :(得分:0)

应根据状态值通过适当更改CSS类来更改样式。

如何执行此操作取决于您如何生成HTML。

如果使用服务器端,使用Velocity或Thymeleaf等动态模板解决方案,则应使用模板中的if / else逻辑更改类名。

如果你想要一个客户端解决方案,那么jquery最适合DOM操作。

答案 1 :(得分:0)

可能的其他解决方案:我已经过去了。我不确定这是不是正确的做法。

  1. 现在您将数据库中的行提取到表中的jsp页面中。 在您获取时,检查是否所有记录状态都是

    1. 一切OK
    2. 一切都不行
    3. 好的
    4. 分别设置一个变量int status to 1,2 or 3

    5. 在表格后面创建一个隐藏的div,并为其提供状态值。

      <div id="hiddenx" hidden> <%=status%> </div>

    6. 现在使用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页面中获取它们并实现您的目的。