【发布时间】:2015-11-11 23:54:05
【问题描述】:
假设我们有使用 JSP 模板的基于 Spring Boot 的 Web 应用程序。甚至可以像下面的例子一样简单(来自官方Spring Projects repository)
项目结构:
|-src/main/java/
| |-sample.tomcat.jsp
| |-SampleTomcatJspApplication.java
| |-WelcomeController.java
|-src/main/resources/
| |-application.properties
|-src/test/java/
| |-...
|-src/main/webapp/
| |-WEB-INF
| |-jsp
| |-welcome.jsp
|-pom.xml
属性文件包含视图前缀/WEB-INF/jsp/ 和后缀.jsp,当请求/ 时,我们会看到welcome.jsp 的正确渲染内容。
变化
现在让我们进行以下更改
-
将
WelcomeController.java复制为WelcomeController2.java并更改位请求映射、模型属性和返回的视图名称,例如:@RequestMapping("/2") public String welcome2(Map<String, Object> model) { model.put("message", "Hi from Welcome2"); return "welcome2"; } -
将
welcome.jsp复制为welcome2.jsp,这样src/main/webapp就会变成这样:|-src/main/java/ | |-sample.tomcat.jsp | |-SampleTomcatJspApplication.java | |-WelcomeController.java | |-WelcomeController2.java ... |-src/main/webapp/ | |-WEB-INF | |-jsp | |-welcome.jsp | |-welcome2.jsp
然后在请求/2时我们可以看到welcome2.jsp的正确渲染的内容。
问题
将这样的项目拆分为两个maven项目的方法是什么,以便WelcomeController2.java和welcome2.jsp可以移动到其他项目(maven依赖)并且在请求/2 URL时仍然可以成功解决?
请注意,使用 Spring Boot web-fragment.xml(可以放置在依赖项的 META-INF 目录中)将被忽略。
【问题讨论】:
标签: java spring jsp spring-mvc spring-boot