1

如标题所述,如果 bean 返回特定值,我想隐藏一个 div。我有以下代码,但不起作用(它不隐藏 div)

JSP:

<jsp:useBean id="Product1" type="Model.Product" scope="request" /> 
    <script>       
            if(  "empty_val".equals(${Product1.name}))
            {   
                product1.style.display = "none";
            }
    </script>

    <div id="product1">

...

Servlet 正确发送所有内容,但我找不到“处理”特定 bean 值的情况以隐藏“div”的方法。有任何想法吗?先感谢您。

4

3 回答 3

2

如果您的 bean 已经存在于范围中,则消除该<jsp:useBean />标记。

如果您打算将 写入div页面,但将其显示样式设置为无:

<div id="product1">...</div>
<script>
<c:if test="${Product1.name eq 'empty_val'}">
    product1.style.display = "none";
</c:if>
</script>
...

如果您不想将其写入div页面:

<c:if test="${Product1.name ne 'empty_val'}">
    <div id="product1">...</div>
</c:if>
于 2012-05-23T13:22:28.473 回答
2

更好地<c:if>与 JSTL 一起使用并有条件地显示 DIV

<c:if test="${Product1.name eq 'empty_val'}">
 <DIV></DIV>
</c:if>

于 2012-05-23T13:10:52.190 回答
0
// JavaScript ain't Java
if ("${Product1.name}" === "empty_val") {
    ...
}

...更好地根据服务器值向 div 添加一个类(例如“隐藏”),实际上不需要 JavaScript:

.hide {
    display: none;
}
于 2012-05-23T13:11:14.820 回答