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 回答