SpringMVC视图解析器配置式开发

本文详细介绍了Spring MVC框架中的三种视图解析器:默认方法名解析器、属性方法名解析器及参数方法名解析器,并通过实例展示了每种解析器的工作原理及其配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

视图解析器分为:

            默认方法名解析器

            属性方法名解析器      

            参数方法名解析器  

 

测试案例:创建类

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易学长~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值