zoukankan      html  css  js  c++  java
  • 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=方法名

  • 相关阅读:
    Android升级ADT22后会报ClassNotFoundException的原因分析
    修改Android解锁界面
    Android中dip, dp, px,pt, sp之间的区别:
    移动开发:Android官方提供的支持不同屏幕大小的全部方法
    常用正则表达式
    Android多语言与国际化
    Android中的资源与国际化
    Android开发:使用Fragment改造TabActivity
    Android开发–Intent-filter属性详解
    Fragment、Activity比较——Android碎片介绍
  • 原文地址:https://www.cnblogs.com/xuchangqi1/p/8640792.html
Copyright © 2011-2022 走看看