如果它们位于不同的文件夹中,如何在Spring控制器中提供视图页面?

Hum*_*ing 3 java spring jsp spring-mvc

我的两个文件夹WEB-INF.

Folder1包含3个jsp之类的page1.jsp , page2.jsp , page3.jsp.

Folder2包含page4.jsp.

dispatcher-Serlet.xml中,我配置了像,

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/folder1/" />
    <property name="suffix" value=".jsp" />
</bean>
Run Code Online (Sandbox Code Playgroud)

控制器中,

@RequestMapping(value="page4.html",method=RequestMethod.GET)
public  String getTransfer(){

    List<String> list = new LinkedList<String>();
    Hashtable<String , Object> map = MyHashtableClasss.getDetails;

    if(!map.isEmpty()){
        Set<String> keys = map.keySet();
        for(String key: keys){
                list.add(map.get(key).getUserName());
        }
    }
    model.addAttribute(list);

    return "page4";
}
Run Code Online (Sandbox Code Playgroud)

如何将page4.jsp放入视图中.因为我在Folder1中没有page4.jsp.

一般情况下,如何JSP在differenf文件夹中显示不同的内容Spring.这有可能吗?如果没有,那么替代方案是什么.

希望我们的堆栈用户会帮助我.

Sac*_*ade 6

1改变

<property name="prefix" value="/WEB-INF/folder1/" />

<property name="prefix" value="/WEB-INF/" />

并返回视图与文件夹路径

return "folder1/page4";
Run Code Online (Sandbox Code Playgroud)

2其他方法是配置多个视图解析程序bean并为每个bean设置优先级.检查以下链接以了解解决方案和限制

弹簧mvc中的多视图解析器

具有多个视图解析器的Spring MVC

编辑

另一种方法是通过扩展来构建自己的视图解析器InternalResourceViewResolver.在扩展视图解析程序中,您可以添加逻辑以扫描子文件夹并查找具有返回视图名称的jsp文件.