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">

...

サーブレットはすべてを正しく送信しますが、「div」を非表示にするために特定の Bean 値の機会を「処理」する方法が見つかりません。何か案は?前もって感謝します。

4

3 に答える 3

2

Beanがすでにスコープに存在する場合は、<jsp:useBean />タグを削除します。

ページにを書き込むことを意図しているdivが、その表示スタイルをnoneに設定する場合:

<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

JSTL で使用<c:if>し、条件付きで 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 にクラス ("hide" など) を追加したほうがよいため、実際には JavaScript は必要ありません。

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