2012-01-27 76 views
1

Grails新手,這可能是一個簡單的問題。如何在GRAILS中更新的頁面上顯示保存狀態

我想保存一些值到數據庫,所以我創建了一個簡單的窗體,其中包含兩個文本字段和一個GSP按鈕(info.gsp)。當按下按鈕(更新)時,它調用控制器&上的方法update()保存更改。很好,直到這裏。

我想用保存的新值在同一個gsp(info.gsp)上顯示「保存」。 render帶我到一個新的頁面。

請幫助如何做到這一點。

感謝 薩納

回答

0

在被保存對象渲染要顯示例如

def save() { 
     println params 
     def bookInstance = new Book(params) 
     if (!bookInstance.save(flush: true)) { 
      render "not saved" 
     } 
     flash.message = message(code: 'default.created.message', args: [message(code: 'book.label', default: 'Book'), bookInstance.id]) 
     render bookInstance.id // "saved!!!!" 
} 

,並在您的視圖中使用其ID更新的佔位符值動作。在我的例子中,submitToRemote有一個更新屬性來處理它。希望這個代碼可以幫助

<html> 
<head> 
    <title>Page Title</title> 
    <meta name="layout" content="main"/> 
    <r:require modules="jquery"/> 
    <g:javascript library="application" /> 
    <modalbox:modalIncludes /> 
</head> 
<body> 
    <g:form name="myform" action='save'> 
      book: <input name="name" type="text" /> 
      <g:submitToRemote action='save' update="updateMe" name="myname"/> 
    </g:form> 
    <div id="updateMe"> 
    </div> 
</<body> 

0

之前,你在你的控制器重定向添加類似:

flash.message = "I saved something" 

然後在你的GSP,有以下幾點:

<g:if test="${flash.message}"> 
    <div class="message">${flash.message}</div> 
</g:if> 

還要注意的是,如果你生成Grails腳手架代碼,您會看到我剛剛向您展示的完全相同的內容。

+0

感謝格雷格。我的問題是我使用modalbox插件,這個數據從模式對話框與即將要呈現「我救什麼」,以相同的modal.is這可能嗎? – sana 2012-01-27 17:00:12

相關問題