呈現模板我試圖通過遠程操作Grails的遠程行動
部分更新視圖這是我的看法(home/index.gsp
)
<button type="button" class="btn btn-success">Update</button>
<g:render template="datetime", model="[mybean: mybean]"/>
這是我的模板(住宅/ _datetime.gsp )
<p>Time: ${mybean.getHours()} : ${mybean.getMinutes()} : ${mybean.getSeconds()}</p>
這是我的js
$("button.btn-success").click(function(event){
$.post("/home/updateTime")
})
這是我的控制器
class HomeController {
def index() {
def bean = new MyDateBean()
render view:"index", model:[mybean:bean]
}
def updateTime(){
log.debug("Updating time")
def bean = new MyDateBean()
render template:"datetime", model:[mybean:bean]
}
class MyDateBean{
private String hours
private String minutes
private String seconds
MyDateBean(){
def date = new Date()
this.hours = date.format("H")
this.minutes = date.format("m")
this.seconds = date.format("s")
}
String getHours(){
return this.hours
}
String getMinutes(){
return this.minutes
}
String getSeconds(){
return this.seconds
}
}
}
如果我瀏覽到/home/index
模板正確地呈現,但是當我點擊按鈕的模板沒有更新。爲什麼?
什麼您已撰寫作品,但未使用渲染模板grails功能 – fabiocolo
加載頁面(index.gsp)時,將評估所有標記和表達式。如果不重新加載頁面,則無法觸發重新渲染。在這種情況下,homeController/updateTime會導致重新渲染,返回結果,並通過jQuery將其設置爲DOM。 –
以上更改爲'.success(函數(數據){$('#dtsDiv').html(data); });'這將呈現實際數據aka您的模板返回div這是JavaScript基本花花公子 – Vahid