我的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>在Controller中,
@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";
}如何将page4.jsp放到视图中。因为我在Folder1中没有那个页面4.jsp。
通常,如何才能在Spring.Is中的不同文件夹中显示不同的.Is?如果没有,还有什么可供选择的。
希望我们的堆栈用户能帮我。
发布于 2013-10-04 09:04:36
1变化
<property name="prefix" value="/WEB-INF/folder1/" />
至
<property name="prefix" value="/WEB-INF/" />
并返回文件夹路径的视图。
return "folder1/page4";2的其他方法是配置多个视图解析器bean,并为每个bean设置优先级。检查以下链接以了解解决方案和限制。
Multiple View resolvers in spring mvc
Spring MVC with multiple view resolvers
编辑
另一种方法是通过扩展InternalResourceViewResolver构建自己的视图解析器。在扩展视图解析器中,您可以添加逻辑来扫描子文件夹,并找到带有返回视图名称的jsp文件。
发布于 2013-10-04 10:16:12
您可以选择为ViewResolver指定哪个文件夹。
如果指定/folder1,JSP将在folder1下解析。如果没有,则需要在需要时自己指定/folder1。
如果你真的需要或者它有助于分解,你可以用一个函数或者常量来帮你。
public class Views {
public static String legacy (String name) {return "folder1/"+name;}
public static String modern (String name) {return "folder2/"+name;}
}如果在单独的应用程序上下文中定义控制器,则可以将它们与单独配置的ViewResolver (使用不同的路径)连接起来。
但这一切对我来说都是显而易见的,我不太清楚你为什么要问这样一个问题。Spring能神奇地知道,对于一个视图,您想要一个不同的文件夹吗?我希望不是,我更希望它能在我指定的文件夹中可靠地工作。
https://stackoverflow.com/questions/19176958
复制相似问题