0

struts if条件のテストメソッドで、セッション変数とプロパティ値を比較したい。

<s:property value="band"/>
<s:if test="#session.bandname == property value">
    <s:form action="BandPost">
        <s:textarea key="post" accesskey="post">Write a post</s:textarea>
        <s:submit/>
    </s:form> 
</s:if>

上記のプロパティ値を if 条件で #session.bandname 値と比較したい。私は多くのことを試しましたが、うまくいきません。誰か答えを教えてくれませんか?

ありがとう。

4

2 に答える 2

1

プロパティを参照するだけです。アクションにはpublic String getBand()メソッドのみが必要です。

<s:property value="band"/>
<s:if test="%{#session.bandname == band}">
    <s:form action="BandPost">
        <s:textarea key="post" accesskey="post">Write a post</s:textarea>
        <s:submit/>
    </s:form> 
</s:if>
于 2012-11-12T08:31:23.243 に答える
0

コア JSTLはこの問題を簡単に解決できると思います。

<c:set var="varForComparison" value="ABC" scope="page"></c:set>

<c:if test="${ sessionScope.varInSession eq pageScope.varForComparison }">
 // DO WHAT YOU HAVE TO
</c:if>

このように、リクエスト内の Bean を直接比較することもできます

<c:if test="${ sessionScope.varInSession eq requestScope.beanInRequest.propertyToCompare }">
 // DO WHAT YOU HAVE TO
</c:if>

また、if-else はしごのように複数の条件が必要な場合は、これを使用できます

<c:choose>
  <c:when test=""></c:when>
  <c:otherwise></c:otherwise>
</c:choose>

c:choose では、必要なだけ c:when を使用できます。コア JSTL + 式言語は大いに役立ちます。それが役に立てば幸い。

于 2012-11-12T07:43:34.160 に答える