1

私はテストしようとしています:

<s:if test="%{selectedLanguage == <s:property/>}">

selectedLanguage はアクションから取得され、s:property は現在のオブジェクトです。次のようなイテレータで:

<s:iterator value="languages">
    <s:if test="%{selectedLanguage == <s:property/>}">
        <option id="<s:property/>" selected><s:property/></option>
    </s:if>
    <s:else>
        <option id="<s:property/>"><s:property/></option>
    </s:else>
</s:iterator>

明らかに、うまくいきません。どうすれば解決できますか?

4

1 に答える 1

3

修正せずに、var属性を使用して反復のオブジェクトに名前を付けます。

<s:iterator value="languages" var="language">
    <s:if test="%{selectedLanguage == #language}">
        <option id="<s:property/>" selected><s:property/></option>
    </s:if>
    <s:else>
        <option id="<s:property/>"><s:property/></option>
    </s:else>
</s:iterator>

スタックのトップを取得するために使用することもできますが#top、名前を付けた方がよりコミュニケーションが取れると思います。

selectedselect タグに基づいて属性を設定する#languageか、単に使用することをお勧めします。

于 2012-08-28T14:56:32.717 に答える