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=方法名

  • 相关阅读:
    2016第13周四
    2016第13周周三
    2016第13周二
    2016第13周一
    2016第12周日
    2016第11周五
    2016第11周四
    前端的自我成长
    Java单例模式和volatile关键字
    大约 Apple Metal API 一些想法
  • 原文地址:https://www.cnblogs.com/xuchangqi1/p/8640792.html
Copyright © 2011-2022 走看看