<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <!-- avoid '???' -->
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp"/>
</bean>
如果我在jsp下创建其他子文件夹,例如 / WEB-INF / jsp / reports,/ WEB-INF / jsp / insertions
我应该如何配置viewResolver来解析这些新的子文件夹?
答案 0 :(得分:7)
假设您在test.jsp
/WEB-INF/jsp/reports
从您的控制器返回
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
model.addAttribute("message", "Hello World!");
return "reports/test";
}
答案 1 :(得分:0)
您可以配置Tiles布局系统
<bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer" id="tilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layouts/layouts.xml</value>
<!-- Scan views directory for Tiles configurations -->
<value>/WEB-INF/views/**/views.xml</value>
</list>
</property>
</bean>
然后创建views.xml,其中包含视图的所有路径以与控制器中的ModelAndView链接。
views.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="refreshActivityPlan" extends="basic.ajax-requirejs">
<put-attribute name="content" value="/WEB-INF/views/common/activity_plan/activityPlanView.jsp"/>
</definition>
</tiles-definitions>
然后终于在你的控制器中:
ModelAndView mav = new ModelAndView("refreshActivityPlan");
mav = getModelAndView(id, subStep, mav);
return mav;
答案 2 :(得分:0)
从您的控制器返回值report / xxx或insertions / yyy
答案 3 :(得分:0)
View解析器获取您在XML文件或Java配置中配置的前缀,并为其前缀以您提供的jsp文件名,
在这种情况下,解析程序正在查找/WEB-INF/jsp/test.jsp。
在创建ModelAndView时用“报告/测试”替换“测试” 对象。