10

タグを使用すると、gsp でこれを行うことができます。

<g:if test="${someBean?.aCondition}">
  <div class="aSection">
  ...
  </div>
</g:if>

私が実際にやりたいことは、「${someBean?.aCondition}」の値に基づいて「display:none」または「display:block」属性を含む 2 番目の「class」を追加することです。

最終的な html は次のようになります。

<div class="aSection hiddenItem">
...
</div>

(${someBean?.aCondition} が true の場合、div はそのクラスに「shownItem」を持ちます)

対応するCSS:

.shownItem
{
  display: block;
}
.hiddenItem
{
  display: none;
}

これを達成するための良い方法は何ですか?

4

2 に答える 2

19

簡単です:

<div class="aSection ${someBean?.aCondition ? 'shownItem':'hiddenItem'}">
...
</div>

html 属性内で ${} ブロックを使用できますが、問題ありません。式ブロックで二重引用符を使用しないように注意してください。混乱を招くためです。

于 2009-11-20T20:24:51.403 に答える
6

または、何らかの条件 (オートフォーカス タグなど) で属性をまったく表示したくない場合は、次のようにします。

<input name="email" type="text" class="input-small" placeholder="Email" ${!flash.email ? 'autofocus="autofocus"':''} value="${flash.email}">
于 2012-11-09T12:17:41.340 に答える