在CSS样式标记中使用表达式语言

时间:2012-12-13 16:13:31

标签: html css jsp el

我正在尝试使用HTML + CSS创建一个百分比栏。 我有以下代码:

<div id="fundingBar">
    <div id="fundingPercentage" style="width:45%"><p class="percentage">45%</p></div>
</div>

现在我希望百分比是动态值,因此我有一个名为“percentage”的会话属性。我想在JSP页面中使用这个值,我知道的唯一方法是使用EL,所以它应该是这样的:

<div id="fundingBar">
    <div id="fundingPercentage" style="width:${percentage}%"><p class="percentage">${percentage}%</p></div>
</div>

但这不起作用,所以有没有办法这样做,或者我应该使用javascript或类似的东西?

谢谢!

2 个答案:

答案 0 :(得分:3)

模板文本中的

EL(读取:任何JSP标记之外的纯HTML中的EL)仅在web.xml声明符合Servlet 2.4或更高版本并且您的webapp部署到支持的容器时才有效Servlet 2.4或更新版本(自2003年11月以来已经发布)和您的webapp在其/WEB-INF/lib中不包含旧版本的servletcontainer特定库,这些库只会碰撞容器自己的库。

否则,如果它确实是一个遗留系统,而不仅仅是一个配置错误的web.xml版本或类路径中的版本冲突,那么您唯一且丑陋的假设是使用JSTL <c:out>。< / p>

<div id="fundingPercentage" style="width:<c:out value="${percentage}"/>%">

另见:


当然我假设您事先 设置了会话属性,如下所示:

request.getSession().setAttribute("percentage", 45);

答案 1 :(得分:0)

#fundingBar元素有多宽?使用百分比时,将根据父元素计算元素。因此,如果#fundingBar宽度为0px,则0px的45%也为0px。

相关问题