Q&A
現在Spring boot + Thymeleafで開発を検討しております。
そこで、Spring bootのControllerより動的にCSSを出力したいと考えているのですが、
Thymeleafのテンプレートエンジンはデフォルトで拡張子が「.html」のファイルしか
見に行かないようで、拡張子が「.css」のファイルは読み込まないようです。
テンプレートのデフォルト拡張子を変更する方法があれば、ご教示いただけますでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答2件
0
だいぶ昔の質問ですが、私もいろいろ調べる中でこの質問に辿り着き、解決できたので。
ドキュメントにもあるのでこれで解決につながると思います。
1.2 What kind of templates can Thymeleaf process?
キーワードは「テンプレートモード」。
あとはテンプレート使わない状態で、XSS対策を時までやる必要がありますが、
コントローラでレスポンスをtext/xssに設定したうえでResponseEntityにString詰めてゴリゴリとCSSを書いて返すという手もあります。
イメージ
html
1<link rel="stylesheet" type="text/css" th:href="@{/css/dynamic}"> 2
java
1@Controller 2public class CssController { 3 @RequestMapping("/css/dynamic") 4 public ResponseEntity<String> test() { 5 HttpHeaders headers = new HttpHeaders(); 6 headers.setContentType("text/css"); 7 StringBuilder cssStr = new StringBuilder(); 8 cssStr.append("body{color:#000;}"); 9 return new ResponseEntity<String>(cssStr.toString(), headers, HttpStatus.OK); 10 } 11} 12
投稿2021/01/26 10:20
総合スコア80374
0
自己解決
回答が得られないのでクローズします。
投稿2016/01/25 09:39
総合スコア90
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
関連した質問
Q&A
受付中
spring boot でのthymeleafでの値の受渡し時にエラー
回答0
クリップ1
更新
2022/01/12
Q&A
解決済
ワードプレス【CSS】:not()で一部を除外しテキストリンクすべてをボタンのリンクスタイルにしたい
回答1
クリップ0
更新
2023/03/23
Q&A
解決済
safariで表示した際のレイアウトがどうしても崩れてしまう
回答1
クリップ0
更新
2023/03/23
意見交換
受付中
データベースの負荷を下げたい
回答25
クリップ0
更新
2023/03/26
Q&A
解決済
classNameの使い方と引数の中身について
回答2
クリップ1
更新
2023/03/23
意見交換
受付中
他の人が作ったSassファイルを簡単にコンパイルする方法、そもそもなぜSassを使うのですか?
回答8
クリップ2
更新
2023/03/07
意見交換
受付中
プログラマを目指す際の進路について
回答35
クリップ2
更新
2023/03/18
同じタグがついた質問を見る
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。
Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。