2013-05-21 48 views
0

我正在返回包含多個項目的地圖值。地圖如下:如何在grails中的以下情況下使用按鈕?

def myList = [] 

//Some code to obtain the List 

List << ["Id": Id,"Name": Name,"Code": sCode, "RunType": x ] 
return [items: List] 

在我的GSP頁我用下面的代碼打印出來在我的網頁。

  <% 
      def counter = 0 

      for (i in items) { 
       counter = counter + 1 

       println("<td>" + i + "</td>" + "\n") 

       if (counter == 1) { 
        println("</tr><tr>") 
        counter = 0 
       } 
      } 

     %> 

和輸出如下所示:

[Id:i-d0f5, Name:es_test_1b_110.test.com, Code:16, RunType:On Demand] 
[Id:i-7890, Name:namc-qc.test.com, Code:16, RunType:On Demand] 
[Id:i-ee56, Name:abcdef.test.com, Code:16, RunType:On Demand] 
[Id:i-c41e, Name:backup.grails.test.com, Code:80, RunType:On Demand] 

我現在需要的是增加一個按鈕,每個打印的值(因此,如果打印6個服務器6個按鈕將顯示,如果10個服務器打印10個按鈕將出現)我將使用該按鈕來傳遞Id來啓動和停止服務器。

回答

2

Grails具有一些強大的內置GSP標籤,這些標籤非常方便。例如:

<g:each in="${items}" var="i"> 
    <tr> 
    <td>${i.Id}</td> 
    <td>${i.Name}</td> 
    <td>${i.Code}</td> 
    <td>${i.RunType}</td> 
    <td><a class="button" href="${createLink(controller: '<controllerName>', action: 'start', id: i.Id)}">Start</a></td> 
    </tr> 
</g:each> 

有,當然有很多其他的方法可以解決這個,但我希望這是一個開始。更多信息,請參閱Grails ref文檔中的這些部分:each,createLink

+0

我的id,Name,Code和RunType沒有得到解決。任何想法爲什麼? –

+0

+1 @Andrew。測試用戶:你可能會發現它們在IDE中沒有解決,但如果你測試它或運行它,你應該能夠看到預期的結果。 – dmahapatro

+0

管理解決它謝謝 –

相關問題