版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/pengbin790000/article/details/84237258
想要实现如以下效果
@Controller //RestController代表controller,但是是和ResponseBody结合
@RequestMapping("adminC") //不能@RequestMapping("/adminC")
public class AdminController {
private AdminService adminService;
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index(HttpServletRequest request, Model model) {
return "base/admin/index";
}
@RequestMapping(value = "/index2", method = RequestMethod.GET)
public String index2(HttpServletRequest request, Model model) {
return "base/admin/index2";
}
}
其中,index是html,index2是jsp,如果同名,先跳转jsp
======================================
1.配置HtmlResourceView,创建类
package org.pb.base.servlet;
import org.springframework.web.servlet.view.InternalResourceView;
import java.io.File;
import java.util.Locale;
public class HtmlResourceView extends InternalResourceView {
@Override
public boolean checkResource(Locale locale){
File file=new File(this.getServletContext().getRealPath("/")+getUrl());
return file.exists(); //判断页面是否存在
}
}
2.配置spring-mvc.xml
<!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀-->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />-->
<property name="viewClass"
value="org.pb.base.servlet.HtmlResourceView" />
<!-- 通过setter方法注入前缀 /WEB-INF/views/showMsg.jsp-->
<property name="prefix" value="/" />
<!-- 通过setter方法注入后缀 -->
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.pb.base.servlet.HtmlResourceView"/>
<property name="order" value="2" />
<property name="prefix" value="/"/>
<property name="suffix" value=".html" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
其中order属性越小,优先级越高,而prefix不是一成不变的,你可以看下你的target目录下,页面的具体路径来配置