Grails:使用javascript在同一视图中显示结果

时间:2012-07-03 22:36:20

标签: jquery grails

我有两个域(模型)Job和Results。 “作业”页面列出已运行的作业,“结果”页面列出作业的结果。

我想要做的是组合这两个页面,以便用户留在一页上。

我的解决方案是使用remoteFunction,我很接近,但我仍然坚持从Grails获取数据。下面的代码调用我的控制器(方法 doit ),它返回一个Groovy列表:

...  
<g:render template="resulttable" />
<button id=show>show()</button>
<script type="text/javascript">
$("#show").click(function () {
  // Returns Groovy List
  var results = <g:remoteFunction action="doit" id="${idx}" update="showit"/>  
  $(".resulttable").show('slow');
});

我不是jQuery的高手,所以如何处理这个结果列表?我尝试了六种不同的东西而且很难过。我有一个部分结果表,我想在哪里显示结果。或者我是否采用这种方法进入左侧领域?

1 个答案:

答案 0 :(得分:1)

我认为您不一定需要直接使用jQuery来执行此操作。你可以这样设置你的gsp:

<g:remoteLink action="doit" id="${idx}" update="showit"><button>show()</button></g:remoteLink>
<div id="showit">
</div>

然后在你的控制器中doit动作:

def doit = {
    //find your list here
    def yourList = ...
    render(template: "resulttable", model: [listInTemplate: yourList])
}