問題タブ [gsp]
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 コントローラーの "render" メソッドを明示的なテンプレートで動作させることができません
grails を使い始めたばかりで、問題が発生しています。
プロジェクトのホームページに「コントローラー」と「ビュー」があります(ホームページのモデルはありません)
ビューを「index.gsp」と呼び、ディレクトリ views/home に配置しました
しかし、レンダリング呼び出しで「template」属性を使用してインデックスを明示的に指定したにもかかわらず、grails はページ「home.gsp」(次に home.jsp) を読み込もうとしています。
ビューレステンプレートレンダリングの例でしか使用されていないため、「テンプレート」属性を間違って使用している可能性があると思います。ただし、ドキュメントにはそのような制限はありません。
テンプレートの名前を明示的に指定する方法はありますか? 「home.gsp」という名前に変更しましたが、何が問題なのかを理解したいと思います。
(このアプリケーションのホームページには「モデル」はありません。Grails はモデルを持つコントローラーを使用します。この例では、gsp テンプレートの「someparameter」に ${someparameter} としてアクセスできます。)
grails - Grails での日付の書式設定
私は Grails に、journeyDate フィールドを持つドメイン クラスを持っています。tourDate は次のように定義されます:-
デートの旅Date
次に、list.gsp で次のように日付を表示します。
${fieldValue(bean:journeyInstance, field:'journeyDate')}
また、次の形式で表示されます:-
2009-08-19 17:12:00.0
秒を表示しないように list.gsp でこれをフォーマットする方法を知っている人はいますか? (データベースへの格納方法を変更したくありません)
grails - grails.views.default.codec='html'構成をオーバーライドして'none'に戻します
Grails(<2.3)ではgrails.views.default.code='none'
、grails Config.groovyをそのままにしておくと、GSPファイルで式を明示的にHTMLエンコードするのは私次第です${myValue?.encodeAsHTML()}
。
grails.views.default.codec='html"
Config.groovyで設定した場合、HTMLエンコーディングはすべての式に対して自動的に行われます${myValue}
。
私の質問:デフォルトをに設定した場合、HTMLエンコーディングの動作が必要ないときに、1つの式に'html'
戻るにはどうすればよいですか?'none'
grails - Grailsが古いバージョンのgspファイルをキャッシュしないようにするにはどうすればよいですか?
/grails-app/views/index.gspに変更を加えています。
ファイルを保存してFirefoxでhttp:// localhost:8080 / index.gspを更新すると、古いバージョンのファイルが取得されます。
Grailsが古いバージョンのファイルをキャッシュおよびレンダリングするのを防ぐ方法はありますか?
(サーバーを再起動してFirefoxのキャッシュをクリアしてみました。)
ありがとう!
grails - Geronimo で Grails GSP が意図した HTML を生成しない
Geronimo 2.1.4 (jetty6、javaee5) で Grails 1.1-M2 アプリを WAR として実行すると、GSP から生成された HTML に動的コンテンツが含まれません。
具体的には、この GSP スニペット:
...Geronimo で実行すると、次の HTML が生成されます。
...しかし、「grails run-app」または「grails run-war」として実行すると、次の正しい HTML が生成されます。
AlbumType.groovy は src/groovy で次のように定義されています。
Grails 内のすべてのロギングを有効にしましたが、エラーや例外は見られません。この問題は、Grails WAR を Geronimo で実行しているときにしか見られないため、混乱を招きます。確かに、「grails run-app」と「grails run-war」ですべてが正常に動作するのは興味深いことですが、他のアプリ サーバーは試していません。
問題に関するアイデアはありますか?
grails - Grailsの「render」はテンプレートをレンダリングします
Grailsコントローラーで、AJAX呼び出しに応答しrender
、テキストを返すために使用しています。
問題は、render
テンプレート全体をレンダリングすることです。したがって、「名前:ジョン」をレンダリングするだけでなく、テンプレートで定義されているすべてのアイコン、ナビゲーションなどをレンダリングします。render
テンプレートなしでレンダリングするにはどうすればよいですか?
Grails 1.1.1を使用して、「Grails in Action」(28ページ)の第1章をほぼフォローしています。
フォローアップ:Rhysyngsunの提案に従ってfalseを返しても影響はありません。テンプレートをnullに設定しようとしましたが、それでもテンプレートはレンダリングされます。
render
私が何をしようとも、テンプレートを通してそれをレンダリングすることに心を向けています。
フォローアップ2:grails-userメーリングリストに関する並行ディスカッション。
フォローアップ3:サンプルコード:コードを最小限にペアリングしましたが、それでも望ましくないテンプレートレンダリングが表示されます。
controllers / PersonController.groovy:
views / person / home.gsp(ホームメソッドのページを表示)
views / layouts / person.gsp(個人コントローラーのレイアウトテンプレート)
ホームビューで個人コントローラーにアクセスします: http:// localhost:8080 / test / person / home
ページは次のようにレンダリングされます:Test App ajax call(hyperlink)Message = Hello Blank
「テストアプリ」はテンプレートからのものです。「ajaxcall」をクリックすると、PersonControllerのajaxTestメソッド(printlnで確認済み)が非同期で呼び出されます。ajaxTestが行うのは、printlnと静的テキストのレンダリングだけです。この結果、次のようになります。
テンプレートが「test1」内にレンダリングされていることに注意してください。<p>
これにより、2番目の「テストアプリ」が作成されます。
Grails1.1.1を実行しています。何か案は?コードは単純なようです。Grailsソースをダウンロードして、RenderDynamicMethod.javaを確認しました。テンプレートが引数リストに含まれていない限り、テンプレートのレンダリングは行われません。だから私の唯一の推測は、何かがテンプレートを再びレンダリングしているということです。
java - Grailsでag:selectから値を設定して取得する方法は?
製品のリストを表示するビューに ag:select があります。
${products} はすべての製品のリストです。コントローラーに渡された params 変数を出力すると、次のようになります。
[製品:テスト製品、在庫:[id:1]、inventory.id:1、アクション:saveProductToInventory、コントローラー:在庫]
プロダクトキーには、g:select タグに value="${it?.id}" を追加したときに含まれると思っていた ID ではなく、名前が含まれています。
g:select タグを宣言して、製品の名前を現在のようにレンダリングする必要がありますが、製品の ID を値として渡すにはどうすればよいですか?
grails - ビューでGrailsサービスを呼び出す方法は?
簡単な質問:サービスクラス(たとえばhelpersService
)とメソッドがありdef constructURI(params)
ます。テンプレートビューからこのメソッドを呼び出すにはどうすればよいですか。
次のコードを試しましたが成功しませんでした
しかし、次の結果が得られます。
または(私が使用する場合def helpersService
)
何か案は?
grails - Grails-それぞれgspを使用してセットの最初の要素をテストします
gspループの最初のメンバーと最後のメンバーをテストする方法を知っている人はいますか?
これが私のjspコードです:
ag:eachステートメントでステータスをテストできることは知っていますが、これは単なる整数です。最初と最後の要素にアクセスするために何かありますか?そうでない場合、私がしていることを行う別の方法はありますか?
助けていただければ幸いです。