gsp内のドメインクラスプロパティを変更する方法は何ですか?Grails、gspからドメインクラスプロパティを変更する
例:
ドメインクラスのプロジェクトは、Date型のあるdueDateを持っています。 私はgsp内で、タグを使用せずに日付を設定したい 理由は、jqueryのdatepickerを使用しています。これは、mm/dd/yyyyのための醜いドロップダウンを持つ代わりにいいので、クリックする。 いいえ、どんなアイデアですか?事前に
ありがとう:D:D:D
gsp内のドメインクラスプロパティを変更する方法は何ですか?Grails、gspからドメインクラスプロパティを変更する
例:
ドメインクラスのプロジェクトは、Date型のあるdueDateを持っています。 私はgsp内で、タグを使用せずに日付を設定したい 理由は、jqueryのdatepickerを使用しています。これは、mm/dd/yyyyのための醜いドロップダウンを持つ代わりにいいので、クリックする。 いいえ、どんなアイデアですか?事前に
ありがとう: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のUIのプラグインがあります。詳細については、http://grails.org/plugin/jquery-uiを参照してください。
この特定のプラグインがあなたのニーズに合っていなくても、そこにプラグインがあると思います。
これはちょうど私が提出エラーを取得しています、まったく動作しませんでした、それはdate型または種のものとして提出していません。 –
たぶん、あなたはジョダタイムプラグインを試してみてください:http://grails.org/plugin/joda-time
そして、このブログの記事で見てみましょう:Rendering Grails Joda-Time date inputs cross browser with HTML5, jQuery and Modernizr
それでは、このコントローラコールに「new Date()」をどのように渡しますか?なぜなら、AJAXがなくてもコントローラメソッドを次の構文で呼び出すことができたからです。 $ {updateDateUsingAjax()} 右か? しかし、問題は、どうすればそれに新しい日付を渡すのですか?私は少し失われた、私はあなたの考えを参照してくださいと天才のようだが、私はいくつかの詳細が不足している。今のところ私ができることは、組み込みの タグを使うことだけです。アイデアをありがとう、私はそれをもっと理解したいと思っています。 –
私はあなたにサンプルビューを提供しようとしています。だからあなたは全体のコンテキストを取得 – saw303
私はスーパーロストだから、ありがとう、ありがとう。実際、今私は実際にgspのコントローラをどのように呼び出すべきかわかりません。私たちのものは足場が真実になっていて、それを削除して、すべてが自動的に作成されました。私はドキュメントを読もうとしていますが、このようなことをどうやって行うのか分かりません。 –