問題タブ [grails-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails - 非常に単純なセット コレクションの値が機能しない
バグのコントローラー:
これはバグの create メソッドです。印刷しbugInstance.activities
たところ、アクティビティ オブジェクトが含まれていました。
次に、save メソッドを見て、まったく同じものを出力しました。結果は null です。そのため、作成したアクティビティが何らかの形で失われ、その理由がわかりません。これは本当にデフォルトの動作ですか? このような単純なコードが機能しない理由はないように思われるため、私は本当に基本的な間違ったことをしていますか?
save メソッドにアクティビティを追加することでこれを回避できることはわかっていますが、create() -> save() からアクティビティが失われるのはなぜですか?
unit-testing - Grails 1.3.3: controller.redirectArgs.action が設定されていません
Grails (1.3.3) の最新バージョンで controller.redirectArgs.action に何が起こったのか知っている人はいますか? 以前は正常に機能していましたが、使用すると NPE が発生します。
この場合、controller.redirectArgs はすでに null です...
forms - Grailsの複数のパラメーターを使用してコントローラーにリダイレクトする
GrailsでWebアプリを開発していますが、現在のページを別のコントローラーにリダイレクトして、複数のパラメーターを渡す必要があります。
正確なシナリオは、複数のSELECTメニューを持つfromを持ち、それらのすべてで「onChange」プロパティでこのコントローラーを呼び出し、すべてのSELECTメニューの現在の値をパラメーターとして渡すことです。
そのコントローラーによって生成された新しいコンテンツとSELECTメニューの新しい組み合わせを表示するには、ページ全体を更新する必要があります。
どうもありがとうございます、
knithx。
grails - コントローラのデフォルトアクションのURLを書き換える
GrailsでURLを書き直すのに問題があります:
2つのコントローラーがBlogController
あり、ProjectsController
それぞれにデフォルトdef index = { }
の一致するビューがあります。
次のリンクを作成すると、次のようになります。
それらはとに翻訳されhttp://localhost:8080/myapp/blog/index
ますhttp://localhost:8080/myapp/projects/index
。ただし、それら(および他のすべてのコントローラーのデフォルトのアクション)には、末尾がないようにします/index
。
誰かが私がこれをするのを手伝ってもらえますか?
spring - Grailsの1対多の関係のための動的フォームからのパラメータの処理
ここでの私の主な質問は、1つの動的フォーム内で1対多の関係を管理する場合のプラママップの処理と、動的フォームを介してドメインオブジェクトを編集/更新する場合の1対多の処理のベストプラクティスです。私の質問への入力は次のとおりです。
以下に示すドメインオブジェクトを1つの動的フォームで作成できるフォームをハックすることができました。電話番号を作成して連絡先に割り当てるための別のフォームを用意しても意味がないため、私のアプリケーションでは、すべてを1つのフォームで作成します。以前の質問で尋ねたものと同様の何かを実装することができました(助けてくれた人々に感謝します)
基本的に、「params」マップから値を取得して自分で解析し、ドメインオブジェクトと関連付けを手動で作成することができました。つまり、デフォルトのスキャフォールディングで使用されているのと同じロジックを使用しませんでした。
など....、私はすべてのパラメータをループし、ドメインオブジェクトを手作りして保存しましたが、すべてうまくいきました。
私のコントローラーには、次のようなコードブロックがあります(これは、ポイントを示すために削除されています)
私の質問は次のとおりです。
- このような状況に対処するためのベストプラクティスは、この場合はコマンドオブジェクトを使用すると機能します。はいの場合、これに関する詳細情報はどこにありますか。検索中に見つけたすべての例は、1対1の関係を扱っています。 1対多の例が見つかりませんでしたか?
- この場合、連絡先オブジェクトを編集するときに電話を追加/削除するという観点から、電話の関係に対処するための最良の方法は何ですか。保存時に常に新しい電話を作成する必要があるため、作成ロジックは単純ですが、連絡先の更新を処理するときに、ユーザーが電話を削除したり、既存の電話を編集したり、新しい電話を追加したりした可能性があります。今のところ、連絡先が持っているすべての電話を削除し、フォームに投稿された内容に従って再作成するだけですが、それは最善の方法ではないと思います。また、既存の電話をループすることもないと思います。投稿された値と比較して手動の差分を実行することもそれを行うための最良の方法ですが、これに対処するためのベストプラクティスはありますか?
ありがとう、うまくいけば質問は明確です。
[編集]詳細については、フォーム内のjavascript(jquery)を使用して電話情報を動的に追加および削除できます[/ edit]
grails - Grails:コントローラーからモデルデータを取得して表示できません
私は過去3週間Grailsを使用しています(学習と作業)。私はJSP/サーブレットアプリケーションのGrailsへの移植に取り組んでおり、アプリケーションの移植は絶対に「楽しい」ものでした。
私は問題に直面し、検索、読書をしていますが、まだ解決できませんでした。
GSPページには、ユーザーがProductIDを入力するテキストフィールドと検索ボタンがあります。検索ボタンがクリックされたときにjQueryAjaxメソッドから呼び出されるコントローラーがあります。
Ajax呼び出しとすべてが正常に動作します。私が直面している問題は、モデルを取得する方法です(つまり、製品データをGSPページに戻し、[製品:製品]をGSPに表示します。たとえば、製品名:$ {product}
どうすれば動作させることができますか?モデル[product:product]を設定するだけで、GSPのデータを取得できると言われている例を読みました。
製品名:$ {product}はGSPページで常に空白で表示されます製品名:
私が間違っていることを教えてください。
乾杯!ジェイ・チャンドラン
grails - 同じ値を持つ同じパラメータが 2 回ある URL を正しく処理するには?
Grails 1.3.3 を使用して、URL リンクを要求する場合:
次に、params が Grails コントローラーに値を注入すると、以下が含まれます。
params.p1
' に等しいことは私にとって論理的だったでしょうv1'
。いいえ?
いずれにせよ、この動作を変更する方法はありますか?
ありがとうございました。
java - Grails + WS クライアントが CXF 例外をスローする
私はgrailsが初めてで、Webサービスのバックエンドを構築しようとしています.アプリは提供されたWebサービスにのみアクセスし、データベースには直接アクセスしません.
このエラーをスローします
そのエラーを修正するには?
grails - 名前付きURLマッピングを使用してコントローラからリダイレクトする方法は?
以下のような URL マッピングがあります。
そして、次のようなコントローラーからこのマッピングを使用してリダイレクトしたい:
残念ながら、createLinkタグ lib とは異なり、redirectmapping
は入力パラメーターとして受け入れないようです。
私の質問は次のとおりです。名前付き URL マッピングをリダイレクトに使用するにはどうすればよいですか?
model-view-controller - さまざまな grails コントローラーで共通のメソッドをどのように共有しますか?
現在、異なるコントローラー間などでメソッドを共有する必要がある場合はprocessParams(params)
、継承またはサービスを使用します。どちらのソリューションにもいくつかの不便があります:
- 継承では、多重継承を使用できません。つまり、すべてのコントローラー ユーティリティ メソッドを 1 か所に配置する必要があります。また、grails には、開発モードで Base Controller クラスのコード変更を検出しないバグがあります (アプリを再起動する必要があります)。
- サービスでは、params、session、flush などの注入されたすべてのプロパティにアクセスすることはできません...
だから私の質問は:複数のコントローラにアクセス可能ないくつかの一般的なメソッドを使用する他の方法はありますか?