如何根据参数值在jsp文件中使用动态css

Posted

技术标签:

【中文标题】如何根据参数值在jsp文件中使用动态css【英文标题】:how to use dynamic css in jsp file base on param value 【发布时间】:2013-01-24 10:03:14 【问题描述】:

我有一个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】:

您可以将请求属性的值附加到 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">

【讨论】:

我使用struts获取类型变量,对你的回答有影响吗? @Mina 我上次使用它已经有很长时间了,但如果我没记错的话,你会有某种形式的 bean 可用作请求属性。应该是一样的,在 EL 表达式中访问 bean 的属性。

以上是关于如何根据参数值在jsp文件中使用动态css的主要内容,如果未能解决你的问题,请参考以下文章

如何根据Windows Phone 7中的参数值在按钮中传递参数并获取后面代码中的值以重定向到另一页?

是否可以根据参数值在表中插入值

如何修改类文件和jsp页面后不用重启tomcat就可以自动加载呢

在jsp中生成动态组合框

如何根据多个ID值在Excel表中找出匹配的结果

如何根据excel电子表格中的指向值在公式中制作动态单元格