Java 我们可以对视图进行spring通用映射吗?
我是春天的新手。我想要的是,我将拥有各种jsp页面,并将用户请求映射到这些jsp页面。我的问题是“当请求url和jsp名称使用spring控制器映射相同时,我们是否可以将用户请求映射到jsp页面”。我搜索了,但没有找到任何内容 喜欢不写控制器Java 我们可以对视图进行spring通用映射吗?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我是春天的新手。我想要的是,我将拥有各种jsp页面,并将用户请求映射到这些jsp页面。我的问题是“当请求url和jsp名称使用spring控制器映射相同时,我们是否可以将用户请求映射到jsp页面”。我搜索了,但没有找到任何内容 喜欢不写控制器 <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClas
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
默认情况下,Spring MVC注册了一个
DefaultRequestToViewNameTranslator
,它将请求转换为与您的需求类似的视图名称
只需使用Map
作为返回类型,转换就开始了。
返回贴图
将显示它作为视图的模型
您还可以返回void
,但必须确保没有HttpServletResponse
声明为参数
@RequestMapping("/registration/form")
public ModelMap form(ModelMap model) {
model.addAttribute("form", new FormObject());
return model;
}
将转换为视图名称:
“注册/表单”
也许我看错了问题,但是如果您想直接将URL映射到JSP(例如,不必定义控制器和方法),那么这可以很容易地完成(如您所希望的)
XML配置:
<mvc:view-controller path="/help-page" view-name="helpPage"/>
使用上述任一选项,如果您访问/help页面,它将呈现/WEB-INF/jsp/helpPage.jsp请给我一个示例链接,或者只是在此处粘贴一个示例使用映射作为返回类型,原因是什么?@blank抱歉造成混淆。补充了一些解释,我还是不明白。您打算将map用作什么返回类型?@FaizAli添加了一个示例非常感谢,这是我想要的。但是使用addViewController(“某些值未知”).setViewName(“某些值未知”);也就是说,当不需要模型时,这是一个完美的解决方案+1@FaizAli从未尝试过动态映射-但在这里可以看到以下答案:-看起来他只是将/**映射到UrlFilenameViewController-但正如所指出的,如果以后要添加控制器,则需要添加所有这些映射,因为排除发现UrlFilenameViewController是我们可以将html页面用作视图的最佳选项
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/help-page").setViewName("helpPage");
}