隐藏&#39; <div>&#39;取决于javabean值</div>

时间:2012-05-23 13:07:47

标签: java html jsp javabeans

如标题所述,如果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'。有任何想法吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

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

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

查看

答案 1 :(得分: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>

答案 2 :(得分:0)

// JavaScript ain't Java
if ("${Product1.name}" === "empty_val") {
    ...
}

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

.hide {
    display: none;
}