在我们的应用程序中,我必须编写JSP,并将其上传到应用程序,并根据JSP UI进行反映。
在这篇文章中,我调用API并获得Rating
的值,即A、B、C、D或E。我有一些代码来实现这一点,并存储在变量-中
String reliabilityRating = getRating();
根据评分,我想更改页面的背景。CSS如下-
.rating-A {
line-height: 23px;
background-color: #00aa00;
}
.rating-B {
background-color: #b0d513;
}
.rating-C {
background-color: #eabe06;
}
要根据评级更改背景,我可以使用类似于-的html
<body class="rating-A">
但这是固定的。我想让它像rating-X
一样动态,其中X可以是A、B、C、D或E。因此,我尝试调用返回评级的方法,如
<body class="rating-" + getRating()>
但这无助于实现我想要的。您能建议我如何根据特定变量的值更改页面的背景吗?
根据本教程判断,如果要输出Java表达式的内容,则需要将其封装在${
和}
中。
因此:
<body class="rating-${getRating()}">
我认为在这种情况下可以使用的最佳方法是在body标记中使用一个自定义数据属性,该属性用作元数据,并从js文件中更改它。
这里有一个演示:
const body = document.body;
const changeRating = rating => body.setAttribute('data-rating', rating);
html, body {
height: 100%;
}
[data-rating="A"] {
line-height: 23px;
background-color: #00aa00;
}
[data-rating="B"] {
background-color: #b0d513;
}
[data-rating="C"] {
background-color: #eabe06;
}
<body data-rating="A">
</body>
<button onclick="changeRating('A')">Rating A</button>
<button onclick="changeRating('B')">Rating B</button>
<button onclick="changeRating('C')">Rating C</button>