如何在基于param值的jsp文件中使用动态css

时间:2013-02-08 15:32:28

标签: java javascript css jsp

我有一个jsp文件,如下所示:

<html>
<head>
     <script type="text/javascript">
       var type=<bean:write name="class" property="type" />  
     </script> 

     <style type="text/css">
        .td-type1
        {
            width: 10mm;
        }
        .td-type2
        {
            width: 20mm;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <td class="td-type1">
            </td>
        </tr>
    </table>
</body>
</html>

我的问题是:如何根据类型值动态更改css? 例如,如果type等于2,那么td-type2的css类应该用于td标记。 我应该使用.properties文件来保存所有配置或多个css文件还是......?

1 个答案:

答案 0 :(得分:7)

您可以将请求属性的值附加到JSP中的class属性:

<td class="td-type<%=type%>">

作为旁注,强烈建议不要使用scriptlet(JSP中的java代码)。请改用JSTL和EL。在这个问题中你会发现Why and how to avoid Java Code in JSP files

<td class="td-type${type}">

或者,如果您想实现if-else类似的构造,例如:

<c:choose>
    <c:when test="${type eq "2"}">
        <c:set var="varclass" value="td-type2"/>
    </c:when>
    <c:otherwise>
        <c:set var="varclass" value="td-type1"/>
    </c:otherwise>
</c:choose>
<td class="${varClass}">