第一个解决方案:
删除 bean声明(
<property name="suffix" value=".html" />和
<property name="suffix" value=".jsp" />)中的后缀属性,并将后缀传递到控制器的返回值中,例如:
@RequestMapping("/view1")public String thymeleafView(){ return "mythymeleafview.html";}@RequestMapping("/view2")public String jspView(){ return "myjspview.html";}
第二种解决方案:
将
viewNames属性添加到解析器。该值是包含视图的文件夹的名称,具体取决于视图的扩展名。因此,你将拥有一个用于存放JSP文件的文件夹,以及另一个用于存放HTML(thymeleaf)文件的文件夹,例如:
Configuration
<bean id="templateResolver" > <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".html" /> <property name="viewNames" value="thymeleaf/*" /> <property name="templateMode" value="HTML5" /></bean><bean id="jspViewResolver" > <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/views/" /> <property name="viewNames" value="jsp/*" /> <property name="suffix" value=".jsp" /></bean>
Controller
@RequestMapping("/view1") public String thymeleafView() { return "thymeleaf/mythymeleafview"; } @RequestMapping("/view2") public String jspView() { return "jsp/myjspview"; }
项目文件夹
WEB-INF/views/jsp/myjspview.jspWEB-INF/views/thymeleaf/mythymeleafview.jsp
两种解决方案均有效,但有一些矛盾之处。无论是要使用JSP还是Thymeleaf进行解析,都必须指定一种或另一种方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)