タグ付けされた質問 「freemarker」

5
FreeMarkerテンプレートに変数が存在するかどうかを確認するにはどうすればよいですか?
テンプレートの処理時に値が提供される一連のプレースホルダーを含むFreemarkerテンプレートがあります。次のように、userName変数が指定されている場合は、条件付きでテンプレートの一部を含めます。 [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] ただし、FreeMarkerのマニュアルにはif_existsが廃止されていることが示されているようですが、これを実現する別の方法を見つけることができません。もちろん、追加のブール変数isUserNameを提供して、次のように使用することもできます。 [#if isUserName] Hi ${userName}, How are you? [/#if] しかし、userNameが存在するかどうかを確認する方法がある場合は、この追加の変数を追加することを回避できます。

7
IntelliJが特定のファイルを正しく認識せず、代わりにテキストファイルとしてスタックする
IntelliJプロジェクトにfreemarkerファイル(ftl)があり、テキストファイルとして誤って認識されています。正しい同じタイプがたくさんあります。「テキストとしてマーク」オプションを知っています。これが、このファイルがテキストとしてマークされた元の理由である可能性がありますが、実際にこれが問題である場合、元に戻すための「ftlファイルとしてマーク」オプションが提供されていません。他のFTLファイルをtxtとしてマークすると、期待どおりにそれらをFTLファイルに戻すことができます。

7
なぜテンプレートエンジンを使用するのですか?jsp includeおよびjstl vs tiles、freemarker、velocity、sitemesh
私は自分のビューを整理する方法を選択しようとしています(spring-mvcを使用しますが、それほど重要ではありません) 私が見る限り、6つのオプションがあります(ただし、相互に排他的ではありません)。 タイル Sitemesh フリーマーカー 速度 <jsp:include> <%@ include file=".."> タイルとSitemeshはグループ化できます。FreemarkerとVelocityも同様です。各グループ内でどれを使用するかは、この議論の問題ではありません。それについて十分な質問と議論があります。 これは興味深い記事ですが、タイルを使用するように私を説得することはできません。 私の質問は-JSTLでは適切に実行できないこれらのフレームワーク は何を提供するのですか?<@ include file="..">主なポイント(一部は記事から引用): ヘッダーやフッターなどのページの一部を含める -違いはありません: <%@ include file="header.jsp" %> そして <tiles:insert page="header.jsp" /> タイトル、メタタグなどのヘッダーでのパラメーターの定義。これは、特にSEOの観点から、非常に重要です。テンプレートオプションを使用すると、各ページで定義する必要のあるプレースホルダーを簡単に定義できます。しかし、JSTLでjspを使用する<c:set>には、<c:out>(インクルードページで)および(インクルードページで)を使用します。 レイアウトの再編成 -ブレッドクラムをメニューの上、またはログインボックスを別のサイドパネルの上に移動する場合。(jspを使用した)ページの包含が適切に構成されていない場合は、そのような場合にすべてのページを変更する必要があります。ただし、レイアウトが複雑すぎず、ヘッダー/フッターに共通のものを配置する場合は、何も心配する必要はありません。 共通コンポーネントと特定のコンテンツの結合 -これに関する問題は見つかりません。フラグメントを再利用する場合は、ヘッダー/フッターが含まれていないページに移動し、必要な場所に含めます。 効率 - <%@ include file="file.jsp" %>一度コンパイルされるので、何よりも効率的です。他のすべてのオプションは、何度も解析/実行されます。 複雑さ -すべての非jspソリューションには、追加のxmlファイル、追加のインクルード、プリプロセッサ構成などが必要です。これは学習曲線であり、潜在的な障害ポイントの導入にもなります。また、それはサポートと変更をより面倒にします-何が起こっているのかを理解するためにいくつかのファイル/構成をチェックする必要があります。 プレースホルダー -速度/フリーマーカーはJSTL以上のものを提供しますか?JSTLでは、プレースホルダーを配置し、モデル(コントローラーによって要求またはセッションスコープに配置されます)を使用して、これらのプレースホルダーを埋めます。 だから、私はプレーンなJSPの代わりに/に加えて上記のフレームワークのいずれかを使うべきだと私に納得させます。

6
FTLファイルとは
私はプロジェクトに不慣れで、それを裏返しに学ぶ必要があります。拡張子が.ftl入ったファイルがたくさんあります。それらが何であるかはわかりません。それらは変更可能であり、ユーザーにはフロントエンドでの変更が表示されることを私は知っています。
88 java  freemarker 

7
ハッシュマップキーを反復処理するフリーマーカー
Freemarkerには、リストとハッシュマップの2つのコレクションデータ型があります。リストの場合と同じように、ハッシュマップキーを反復処理する方法はありますか? したがって、データを含む変数がある場合は、次のように言います。 user : { name : "user" email : "looser@everything.com" homepage : "http://nosuchpage.org" } すべてのユーザーのプロパティをその値とともに出力したいと思います。これは無効ですが、目標は明確です。 <#list user.props() as prop> ${prop} = ${user.get(prop)} </#list>
87 java  freemarker 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.