5

各タイプに独自のパラメーターがあるタイプの選択ボックスがあります。TYPES 選択ボックスは、テンプレートを呼び出してビューに PARAMETER 選択ボックスをレンダリングする AJAX を起動します。パラメータは名前と値のペアで構成されているため、すべての名前に多くの値を設定できます。

ユーザーが名前ごとに複数の値を選択するには、一部のパラメーターは multiple='true' が必要ですが、他のパラメーターは 1 つの選択肢のみに制限する必要があります。

私の gsp ページには、次のようなものがたくさんあります。

    <g:if test="${it?.getKey().toString().equals('PARAMETER_A')}">
      <td><g:select multiple="true" optionKey="id" optionValue="value" name="sampleParameters" id="parameter" value="${params?.sampleParameters}" from='${it?.getValue().sort()}'></g:select></td>
    </g:if>
    <g:if test="${it?.getKey().toString().equals('PARAMETER_B')}">
      <td><g:select multiple="true" optionKey="id" optionValue="value" name="sampleParameters" id="parameter" value="${params?.sampleParameters}" from='${it?.getValue().sort()}'></g:select></td>
    </g:if>

私の問題は、複数の値を選択する必要がある 1 つの特定の TYPE に対して 6 つのパラメーターがあることです。残りはそうではありません。上記のように明示的に入力するのではなく、java でできるように、ag:if ステートメントで複数のことをテストできる方法はありますか? そのような:

if(something.equals(PARAMETER_A) || something.equals(PARAMETER_B))

GroovyでJavaのアプローチに似た何かを行う方法はありますか?

4

1 に答える 1

14

Grailsg:ifは、テスト属性でgroovyを使用するだけです。だからあなたの質問に答えるために、はい:

<g:if test="${something.equals(PARAMETER_A) || something.equals(PARAMETER_B)}">
</g:if>
于 2012-08-03T19:23:16.350 に答える