gpt4 book ai didi

grails - Grails,从gsp更改域类属性

转载 作者:行者123 更新时间:2023-12-02 15:36:05 24 4
gpt4 key购买 nike

在gsp中更改域类属性的方法是什么?

例如:

域类项目的DueDate类型为date。
我想在gsp内设置日期而不使用标签
原因是,我使用的是jquery的datepicker,这很好,因为它没有mm / dd / yyyy的丑陋下拉列表,而是有一个不错的小日历供您单击。
任何人有什么想法吗?

在此先感谢:D:D:D

最佳答案

好吧,Grails使用MVC模式,因此您不应直接在GSP页面中更改域类属性。

当然,您可以使用JQuery日期选择器,但应该提供 Controller 操作来更新您的域类属性

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()
}

现在,您只需要编写对该 Controller 操作的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 - Grails,从gsp更改域类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com