これはおそらく愚かな質問です(私はPlay Frameworkのnoobのビットです)。しかし、実際にはそれに運が必要ありません。Playフレームワークを使用した日付のコントローラメソッドの呼び出し
public static void viewDay(@As("dd-MM-yyyy") Date date) {
ウェブで/ day?date = 22-05-2011のようなものにアクセスしたときにうまくいくのはどれですか。
私の問題は、新しいレコードが追加されたときに、保存メソッドがこのページにリダイレクトされるようにすることです。通常の状況では、このようなことはうまくいきますが、私はここに日付を渡したいので、私はいくつかの問題を抱えています。
私の最初のアイデアは、ちょうどこれが「ISO8601%3A2011-06-30T00の線に沿って何かになり (私は他のデータ型で行うことができましたと)ちょっと道
viewDay(someDate);内に沿って日付オブジェクトを渡すことでした%3A00%3A00%2B0100 "がURLに終わります。私はそれが(たとえそれが理想ではないにもかかわらず)うまくいけばこれで生きることができますが、遊びはそれを解読できるようには見えず、代わりに現在の日付を使用するようにデフォルト設定しています。
私はまた、@Asが予想しているようにフォーマットされた文字列として日付を渡そうとしましたが、これはいくつかの型エラーを引き起こしました。 @As( "dd-MM-yyyy")の削除も役立たないようです。
私の考えでは、これは本当にやりにくいものではないようです(ただし、私はPlayとJava Web Frameworkの全般的な悩みを述べています)ので、どんなポインタでも大きな助けになるはずです。
おかげで、 カール
私のコントローラのラフ概要:
public class TimeRecordController extends Controller { public static void index() { //do stuff } public static void viewDay(@As("dd-MM-yyyy") Date date) { //Do stuff (works fine when accessed via web) //If page is arraived at via the save though url shows UTC date: "ISO8601%3A2011-06-30T00%3A00%3A00%2B0100" //And play is unable to read the correct date } public static void save(Stuff here, Date rtn){ //do validation/saving viewDay(rtn); } }
問題は表示されていません。両方の方法のコードが必要です –