jasperとthymeleafの両方のプロジェクトで試しましたが、共存できません.JSPを使用したいと思っていますので、Spring-boot-starter-thymeleafはパッケージを実行することができます。ジャスパーとタイメレフの両方が共存できるように解決策を探しています。 jasperとthymeleafの両方が共存するservlet-context.xml(Mixing thymeleaf and jsp files in Spring Boot)を使用する人がいたら、私はstackoverflowの解決策を得ました。しかし、私がspring-boot-starter-webを使っている場合、それらの属性をpom.xmlに含める方法が私の要求です。Springブートアプリケーションのthymeleafファイルとjasperファイルの共存
答えて
私は、Springブート内の組み込みjar buildからHTMLページとJSPページの両方を実行できました。しかし、コマンドプロンプトでJarファイルをコピーして独立して実行したい場合は、Jarコンテンツに含まれないJSPページのフォルダ構造をコピーする必要があります.pomファイルを少し変更してjarファイルに追加できるようにする必要がありますそれに対する外部コンテンツ。
STEP 1:作成したソースフォルダのsrc /メイン/リソースのもと、プロジェクト構造とファイルの作成
:追加ThymeleafとJSPの依存関係 は、あなたのpom.xmlファイル
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
STEP 2への依存関係の下に追加しますフォルダテンプレートを作成し、その下にサブフォルダthymeleafを作成します。そして
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
</head>
<body>
THYMELEAF PAGE: <p th:text="${name}"></p>
</body>
</html>
サブフォルダビューを作成するのsrc /メイン/ webappの/ WEB-INFの下にhtmlファイルをsample.html(言う)を作成します。ビューの下のJSPファイル、sample.jsp(例えば)
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello</title>
</head>
<body>
JSP PAGE: Hello ${name}
</body>
</html>
STEP 3作成:あなたのapplication.propertiesで内部ビュー解決のためのthymeleafビュー名およびJSP構成を設定します。
#tomcat-connection settings
spring.datasource.tomcat.initialSize=20
spring.datasource.tomcat.max-active=25
#Jasper and thymeleaf configaration
spring.view.prefix= /WEB-INF/
spring.view.suffix= .jsp
spring.view.view-names= views
spring.thymeleaf.view-names= thymeleaf
#Embedded Tomcat server
server.port = 8080
#Enable Debug
debug=true
management.security.enabled=false
STEP 4:ThymeleafとJSPページを提供するためのコントローラを作成します。
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class TestController {
@RequestMapping(value="/jasper", method=RequestMethod.GET)
public String newjasper(Map<String, Object> m, String name){
//System.out.print("-- INSIDE JSP CONTROLER ------");
m.put("name", name);
return "views/sample";
}
@RequestMapping(value="/thymeleaf", method=RequestMethod.GET)
public String newthymeleaf(Map<String, Object> m, String name){
//System.out.print("-- INSIDE HTML CONTROLER ------");
m.put("name", name);
return "thymeleaf/sample";
}
}
STEP 5:あなたがJSPのビューの解像度のためのコンフィギュレーションクラスSpringConfig.class(言う)を作成するために必要なことがいくつかの例をページ。しかし、オプションで、私は設定ファイルでそれを使用しません。
import org.springframework.web.servlet.view.JstlView;
@Configuration
public class SpringConfig {
@Value("${spring.view.prefix}")
private String prefix;
@Value("${spring.view.suffix}")
private String suffix;
@Value("${spring.view.view-names}")
private String viewNames;
@Bean
InternalResourceViewResolver jspViewResolver() {
final InternalResourceViewResolver viewResolver = new
InternalResourceViewResolver();
viewResolver.setPrefix(prefix);
viewResolver.setSuffix(suffix);
viewResolver.setViewClass(JstlView.class);
viewResolver.setViewNames(viewNames);
return viewResolver;
}
}
ステップ6:jspとhtmlの両方のアプリケーションをテストします。
ブラウザでこのURLにヒットしたとき:http://localhost:8080/thymeleaf?name=rohit。これにより、パラメータ名がページの中心にあり、このURLでsample.htmlファイルが開きます。http://localhost:8080/jasper?name=rohitは、パラメータ名がcenterのsample.jspページを開きます。
viewresover javadocから。
は、コントローラによって返さ ビュー名がこのリゾルバ かによって解決されるかどうかを決定するために適用される名前パターンのセットを指定します。例えば-forいくつかのビューリゾルバを構成するアプリケーションで
、ThymeleafとJSP + JSTLレガシーpages-ためのもう一つのための1つ 、この プロパティは このビューリゾルバときバネによってビューを解決するために検討される場合に確立代わりにチェーン内の次のリゾルバ に注文に応じて尋ねてください。
指定されたビュー名のパターンは完全なビュー名とすることができるが、 も*ワイルドカードを使用することができます:「インデックスを」、「 USER_」、「管理者/ *」など。また
ことに注意してくださいこれらのビュー名のパターンは、ビュー名に 任意の接頭辞や接尾辞を適用する前にチェックされているので、彼らは これらを含めるべきではありません。通常そのため、あなたは注文/ *の代わり /WEB-INF/templates/orders/*.htmlを指定します。
このビューリゾルバで扱うことができないfact-で、ビュー-patternsの名前を指定します。
これらのパターンは、 setViewNames(String [])と同じ形式で指定できますが、除外リストとして機能します。 viewResolver.setViewNames(viewNames)。
- 1. CSSファイルをSpringブートに追加するSpring Security Thymeleafファイル
- 2. Springブートアプリケーション間でファイル/ストリームを渡す
- 3. Springブートアプリケーションでcsvファイルを読む
- 4. SpringブートアプリケーションのhtmlページにThymeleafテーブルが表示されない
- 5. SpringブートアプリケーションとMessageSource
- 6. SpringブートアプリケーションとTomcat/Jettyにデプロイされた.warファイル
- 7. eclipseでJARファイルとしてSpringブートアプリケーションをエクスポートする
- 8. Springブートアプリケーション内のjarファイル内のJPAエンティティのパッケージ
- 9. Jasper ServerのカスタムJarファイル
- 10. SpringブートアプリケーションのSymmetricDS
- 11. Springブートアプリケーションでの外部jarファイルの追加
- 12. Springブートアプリケーションのjarファイルを埋め込みました。
- 13. 共存するemacsとxemacsのinitファイル
- 14. TransactionAdviser(Springブートアプリケーション)のNullPointerException
- 15. Swagger 2とSpringブートアプリケーションとの統合
- 16. SpringブートアプリケーションからWARファイルを生成できません
- 17. Springブートアプリケーションがlogback.groovy設定ファイルに問題がありました
- 18. Springブートアプリケーションでh2o MOJOモデル(zipファイル)を取得する
- 19. Spring + Thymeleafタイプのコンバータ
- 20. ThymeleafのSpringセキュリティ式
- 21. org.hibernate.HibernateException:Missingカラム:Springブートアプリケーションのauth_password
- 22. Springブート+ Thymeleaf + Apacheタイル - 定義ファイルが見つかりません
- 23. Spring BootとThymeleaf Neko HTMLエラー
- 24. target/jasperから.jasperファイルを読み込みます。
- 25. SpringブートアプリケーションにいくつかのJSONファイルを読み込む最良の方法
- 26. springブートアプリケーションのmavenディレクトリ構造のresourcesフォルダからファイルを取得するには?
- 27. Spring Starter MailのテンプレートエンジンとしてのThymeleaf
- 28. SpringブートアプリケーションにJNI共有ライブラリを統合する方法
- 29. spring/thymeleaf i18nデータベースコンテンツ
- 30. Spring + Thymeleaf + Bootstrap