Spring Boot アプリのビュー構成を次のように設定しました。
@Configuration
public class ViewConfig extends WebMvcConfigurerAdapter {
public static final String[] SCRIPTS = {
"nashorn/ejs.min.js",
"nashorn/polyfill.js",
"nashorn/render.js"
};
@Bean
public ViewResolver viewResolver() {
ScriptTemplateViewResolver viewResolver = new ScriptTemplateViewResolver();
viewResolver.setPrefix("templates/");
viewResolver.setSuffix(".ejs");
return viewResolver;
}
@Bean
public ScriptTemplateConfigurer viewConfigurer() {
ScriptTemplateConfigurer configurer = new ScriptTemplateConfigurer();
configurer.setEngineName("nashorn");
configurer.setScripts(SCRIPTS);
configurer.setRenderFunction("render");
configurer.setSharedEngine(false);
return configurer;
}
}
そして私のmaven構造は次のとおりです:
App
|-- pom.xml
`-- src
|-- main
|-- java
| `-- config
| `-- ViewConfig.java
| `-- Application.java
|-- resources
| `-- nashorn
| `-- ejs.min.js
| `-- polyfill.js
| `-- render.js
| `-- templates
| `-- index.ejs
ただし、コマンドを実行するとmvn spring-boot:run
、根本的な原因でスクリプトを読み込めないという問題が発生しました。
java.lang.IllegalStateException: Resource [nashorn/ejs.min.js] not found
私の目的は、Java と ReactJs を使用して同形アプリを構築したいということですが、1 週間前にこれらの問題に遭遇し、今までこれらの問題を解決できませんでした。