更改gsp域類屬性的方法是什麼?Grails,從gsp更改域類屬性
例如:
域類項目具有類型爲date的dueDate。 我想在gsp內設置它的日期而不使用標籤 原因是,我使用的jquery的datepicker,這是很好的,因爲而不是有一個醜陋的下拉mm/dd/yyyy它有一個很好的小日曆一點擊。 Anywho,有什麼想法?
在此先感謝:d:d:d
更改gsp域類屬性的方法是什麼?Grails,從gsp更改域類屬性
例如:
域類項目具有類型爲date的dueDate。 我想在gsp內設置它的日期而不使用標籤 原因是,我使用的jquery的datepicker,這是很好的,因爲而不是有一個醜陋的下拉mm/dd/yyyy它有一個很好的小日曆一點擊。 Anywho,有什麼想法?
在此先感謝:d:d:d
好,Grails使用一個MVC模式,因此,你不應該直接更改域類屬性在一個GSP頁面內。
當然你也可以使用JQuery的日期選擇器,但你應該成功地提供一個控制器動作來更新您的域類物業
def updateDateUsingAjax() {
def domain = MyDomain.load(params.id)
/*
Lets pretend the content of params.date has the format MM/dd/yyyy
You can use Date.parse method of the Groovy JDK to create a java.util.Date instance of a String.
http://groovy.codehaus.org/groovy-jdk/java/util/Date.html#parse(java.lang.String, java.lang.String)
*/
domain.myDate = Date.parse('MM/dd/yyyy', params.date)
domain.save()
}
現在你必須寫是一個Ajax調用該控制器的動作和你將表示層與應用程序的其餘部分分開。
以下是您的GSP的外觀。
<!doctype html>
<html>
<head>
<meta name="layout" content="main"/>
<title>Welcome to Grails</title>
<r:require module="jquery-ui"/>
</head>
<body>
<div>
<g:formRemote name="myForm" url="[controller: 'standard', action: 'updateDateUsingAjax']" onSuccess="showDialog()">
<p>Your date: <g:textField name="pick"/> </p>
<p><g:hiddenField name="id" value="your id"/></p>
<input type="submit" value="Delete Book!" />
</g:formRemote>
</div>
<div id="dialog" title="Success" style="display:none;">
<p>You have successfully updated your date</p>
</div>
<script type="text/javascript">
$(document).ready(function()
{
$("#pick").datepicker({dateFormat: 'yy/mm/dd'});
})
function showDialog() {
$("#dialog").dialog();
}
</script>
</body>
有可能滿足您的需要一個Grails JQuery用戶界面插件。有關更多信息,請參閱http://grails.org/plugin/jquery-ui。
即使這個特定的插件不適合您的需求,我會認爲會有一個插件那裏會。
這只是沒有在所有的工作,我得到提交錯誤,它沒有提交類型日期或類似的東西。 – 2012-04-24 03:24:01
那麼如何將「新日期()」傳遞給這個控制器調用。因爲即使沒有ajax,我也可以用下面的語法調用控制器方法: $ {updateDateUsingAjax()} 對不對? 但事情是,我如何通過一個新的日期?我有點失落,我看到你的想法,這似乎是天才,但我錯過了一些細節。因爲現在我所能做的就是使用內置的 標籤。謝謝你的想法,我只想更多地理解它。 –
2012-04-20 08:28:20
只需一秒鐘,我正試圖爲您提供示例視圖。所以你得到整個上下文 – saw303 2012-04-20 09:00:17
好吧,非常感謝你,因爲我超級迷失。事實上,現在我不知道如何在gsp中真正調用控制器。我們所有的東西都將腳手架設置爲真,然後我們刪除了它,並且所有東西都是自動創建的。我正在嘗試閱讀文檔,並且沒有意義如何做這種事情。 – 2012-04-20 09:12:09