SpringMVC视图解析器配置式开发

视图解析器分为:

            默认方法名解析器

            属性方法名解析器

            参数方法名解析器 

测试案例:创建类

package cn.happy.day03MultiAction;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//默认方法名解析器
public class MyMultiActionController extends MultiActionController {

    //自定义两个方法
    public String doFirst(HttpServletRequest request,HttpServletResponse response){
        return "doFirst";//访问jsp名称
    }

    public String doSecond(HttpServletRequest request,HttpServletResponse response){
        return "doSecond";
    }

}

  

方式一:默认方法名解析器

<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/"/>
    <property name="suffix" value=".jsp"/>
</bean>

<!--方式一:使用默认方法名解析器  处理器映射器-->
<!--处理器-->
<bean id="myMultiActionController" class="cn.happy.day03MultiAction.MyMultiActionController">
</bean>

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <map>
            <!--访问url   例:/方法名.do访问-->       <!--控制器-->
            <entry key="/*.do" value="myMultiActionController"/>
        </map>
    </property>
</bean>

  

访问方式应为:Http://location:8080/方法名.do 

方式二:属性方法名解析器

<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/"/>
    <property name="suffix" value=".jsp"/>
</bean>
<!--属性方法名解析器-->
    <bean id="multiAction" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
        <property name="mappings">
            <props>
                        <!--访问URL     实体类方法名-->
                <prop key="/first">doFirst</prop>
                <prop key="/second">doSecond</prop>
            </props>
        </property>
    </bean>

    <!--处理器映射器-->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="urlMap">
            <map>                       <!--控制器-->
                <entry key="/*" value="multiActionController"></entry>
            </map>
        </property>
    </bean>

    <!--处理器-->
    <bean id="multiActionController" class="cn.happy.day03MultiAction.MyMultiActionController">
        <!--绑定解析器-->
        <property name="methodNameResolver" ref="multiAction"/>
    </bean>

  

访问方式应为:Http://location:8080/first    or    second

方式二:参数方法名解析器

<!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
<!--方式三:参数方法名解析器-->
<bean id="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
                                        <!--参数名称:自定义-->
    <property name="paramName" value="actionName"/>
</bean>

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <map>
            <!--固定访问地址-->
            <entry key="/hello.do" value="multiActionController"/>
        </map>
    </property>
</bean>

<!--处理器-->
<bean id="multiActionController" class="cn.happy.day03MultiAction.MyMultiActionController">
    <!--绑定解析器-->
    <property name="methodNameResolver" ref="methodNameResolver"/>
</bean>

  

访问方式应为:Http://location:8080/hello.do?actionName=方法名

原文地址:https://www.cnblogs.com/xuchangqi1/p/8640792.html

时间: 2024-10-22 16:51:50

SpringMVC视图解析器配置式开发的相关文章

SpringMVC视图解析器配置

<!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/"/> <!--后缀--> <property name="suffix" value=&q

springmvc 前段控制器 处理器映射器 处理器适配器 视图视图解析器 配置

1. 前段控制器 新建项目在web.xml中配置前段控制器 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</pa

SpringMVC与Freemarker的集成以及多视图解析器配置

一.Spring MVC视图解析器 视图解析器的工作流程大致是这样的:Controller的某个方法执行完成以后,返回一个视图(比如:listUser),视图解析器要做的工作就是找到某个对象 来完成视图的渲染,或者跳转到其他的逻辑视图.这里的渲染对象通常就是我们的jsp文件或者我们下面用的Freemarker(例如listUser.jsp或者 listUser.ftl).渲染完成以后,将解析结果发送到客户端浏览器. 下面介绍一下本文需要用到的解析器(更多解析器资料,请参考 http://e-fr

SpringMVC视图解析器

AbstractController 先创建一个MyAbstorctController类,并且让他继承AbstractController父类,并实现该父类中的方法. public class MyAbstorctController extends AbstractController{ protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse

SpringMVC视图解析器 转

  前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着 Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射.然后通过该HandlerMapping取得 其对应的Handler,接着再通过相应的HandlerAdapter处理该Handler.H

springmvc 之 SpringMVC视图解析器

当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射.然后通过该HandlerMapping取得其对应的Handler,接着再通过相应的HandlerAdapter处理该Handler.HandlerAdapter在对Handler进行处理之后会返回一个ModelAndView对象.在获得了ModelAndView对象之后,

SpringMVC 视图解析器 InternalResourceViewResolver

我们在使用SpringMVC的时候,想必都知道,为了安全性考虑,我们的JSP文件都会放在WEB-INF下, 但是我们在外部是不可以直接访问/WEB-INF/目录下的资源对吧, 只能通过内部服务器进行转发的形式进行访问,那么InternalResourceViewResolver底层通过转发形式帮我们解决了这个问题! 为了使用InternalResourceViewResolver我们都会在SpringMVC的配置文件中进行如下配置 <!-- 自定义视图解析器 --> <bean id=&

SpringMvc 视图解析器常见功能、类型转换、格式化

springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframewo

Spring MVC的多视图解析器配置及与Freemarker的集成

一.从freemarker谈起 Freemarker使用模板技术进行视图的渲染.自从看了Struts标签.Freemarker.JSTL的性能对比后,我毅然决定放弃Struts标签了!效率太差…… Spring本身支持了对Freemarker的集成.只需要配置一个针对Freemarker的视图解析器即可. 二.Spring MVC视图解析器 视图解析器的工作流程大致是这样的:Controller的某个方法执行完成以后,返回一个视图(比如:listUser),视图解析器要做的工作就是找到某个对象来