0

gsp の異なる ID で同じダイアログをトリガーしたいと考えています。コードは次のとおりです。

 <div class="yui3-widget-bd">
   <g:each in="deployments" status="index" var="workflow">
      <% def id = "reloadFile"+index %>
         <gui:dialog title="Reload File" form="true" modal="true"
                     controller="admin" action="reloadFile"
                     triggers="[show:[id:'${id}', on:'click']]">
         <p>To reload the file, please...</p><br />
         <input type="file" id="deploymentFile" name="deploymentFile" />
         </gui:dialog>
   </g:each>
</div>

問題は、スクリプトレット コード:

triggers="[show:[id:'<%=id %>', on:'click']]"

評価されていません。生成された html のソースでイベントをリッスンする Javascript 部分は次のようになります。

 YAHOO.util.Event.addListener("${id}", "click", GRAILSUI.gui_e0100d149e0a7b531017e0decaee9fce.show, GRAILSUI.gui_e0100d149e0a7b531017e0decaee9fce, true);

では、ソースがこのように見えるようにするにはどうすればよいですか? :

YAHOO.util.Event.addListener("reloadFile1", "click", GRAILSUI.gui_e0100d149e0a7b531017e0decaee9fce.show, GRAILSUI.gui_e0100d149e0a7b531017e0decaee9fce, true);

ありがとうございました。

4

1 に答える 1

1

jsps と同じ:

  • コードを実行したい場合

    <% def something = true %>

  • 実行の戻りを使用する場合

    <%= 何か ? "これは真実です" : "これは誤りです" %>

これはおそらくコードの匂いであり、コードは 99.9% のケースでドメイン、コントローラー、または taglib にあることに注意してください。

詳細については、リファレンス ドキュメントを参照してください。

于 2013-02-20T14:41:41.733 に答える