私はSpring Framerworkに基づいてアプリケーションを開発しています。私はFreemarkerフレームワークと統合して使用するビュー技術として。仮想化のためのデータを格納するJava Beanが一部のフィールドでnullを持つと問題が発生します。 Freemarkerにはnull概念はないので、Beanにはこれらのフィールドがまったく存在しないと考えられます。私は、問題は、Java Beanからテンプレートで参照されるfreemarkerのハッシュオブジェクトにデータをコピーするクラスのカスタマイズによって解決できると思います。しかし、私はどのクラスが春にそれをするのか分かっていません。そのクラスはありますか?どのように呼び出されますか?Springフレームワークを使用したFreemarkerでのnullの表現
3
A
答えて
3
通常、テンプレートで直接nullを処理します。例:印刷されます
${person.surname!"n/a"}
「N /」だけヌル姓、またはの場合:nullの姓の場合、空の文字列(何もない)をプリントアウトします
${person.surname!}
。
1
"!"オペレーター。次に例を示します。
${your_property!""}
your_property
がnullの場合、それは「」空の文字列を出力します。
1
プロパティチェーン内のいずれかの部分がnullでもかまいませんが、nullのいずれかの部分を防ぐために、その周囲にパセンチを置くこともできます。例えば。あなたがpuの場合
${person.car.door.color!"<no value"}
あなたは色がヌルであることに注意してください。しかし、それはまた、ドア、車や全体の人が行方不明になっていることが起こりことができれば、あなたは私が追加する必要がある。このように
${(person.car.door.color)!"<no value"}
関連する問題
- 1. SpringフレームワークFreemarkerのマクロレイアウト、ネストされたが、私は自分のWebアプリケーションと のための春のフレームワークを使用
- 2. FreeMarkerを使用したSpring MVC:ロケール固有のテンプレート
- 3. ConversionNotSupportedException我々は現在、Springフレームワークを使用している
- 4. spring freemarker ConversionNotSupportedException
- 5. Spring MVC、Sitemesh、Freemarkerを使用してspring.ftlをインポートする
- 6. Javaの標準JDBCを使用したSpringフレームワーク
- 7. Spring MVCフレームワークを使用したサーバーサイドとクライアントサイドのXml交換
- 8. Springフレームワークを使用した円形ビューパスの例外
- 9. Spring統合フレームワークとApacheを使用したエンティティのキャッシュキャメル
- 10. Springフレームワークで純粋なaspectJを使用したい
- 11. Spring Freemarker設定、テンプレートパス
- 12. Spring/Hibernateを使用している場合のFreemarkerの代替方法は?
- 13. アレイを使用したバイナリツリーの表現
- 14. SpringとFreemarkerを使用してフォーム入力の値を与える方法
- 15. Freemarkerを使用したJSONからの動的値の抽出
- 16. Freemarkerテンプレートの場所とSpringバッチ管理
- 17. ドットマッチオールモードを使用した正規表現
- 18. javascriptを使用した正規表現
- 19. 正規表現を使用したラクダルート
- 20. preg_matchを使用した正規表現
- 21. Redisを使用したフレームワーク
- 22. 正規表現を使用した検索でのファイルのフィルタリング
- 23. 正規表現を使用したソースコードでのメソッドの検索
- 24. Perlでの正規表現を使用したループの終了
- 25. パッド私はパッドにバージョン番号で特定の数のPythonのフレームワークで、正規表現を使用していた正規表現
- 26. 意思決定表の正規表現を使用したフィットネスフレームワーク?
- 27. Spring TagLibsを使用したJSPの表示値
- 28. PHPでの正規表現を使用した置換
- 29. 正規表現を使用したApacheでの仮想ホスト
- 30. 正規表現を使用した正規表現の複数パターン
を配置する必要があります「!」すべてのフィールドの後に。 IMHOこれらの厄介な「式未定義」エラーから私を救うコードが1つあれば便利です。 – vect
本当に 'ヌル '(または不足)にすることができるフィールドの後に'! 'を置くだけで、すべてのフィールドの後には置かないでください。それ以外の場合は、誤植を隠すことができます。また、フィールドが「ヌル」の場合には、単に何も印刷しないことは通常適切ではないので、何をすべきかを明示的に伝える必要があります。 'N/A'または' -'を表示するか、フィールドが0(計算中)であると仮定するか、フィールドラベルの印刷をスキップします。 – ddekany
ほとんどの場合、何も持たないでください文字列)をFreemarkerのそのようなフィールドに入力します。私はそれを何か他の何かに置き換える必要がある場合私はfreemarkerテンプレートのhas_contentでフィールドをチェックし、そこに適切な値を置きます。 freemarkerのそのようなフィールドに長さゼロの文字列を入れたくない場合は、Java Beanの対応するフィールドにいくつかのカスタム注釈(@Nullableなど)を付けて、この注釈をチェックします。フリーメーカのハッシュ。 – vect