快速业务通道

利用AnnotationMethodHandlerAdapter对Spring的Controller注入session对象 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

利用AnnotationMethodHandlerAdapter对Spring的Controller注入session对象

时间:2011-10-21 blogjava 沉睡森林

在利用spring的mvc开发过程中,需要将User对象从session中取出来使用。参照网上的做法,我利用 了AnnotationMethodHandlerAdapter来解决这个问题。下面是XML代码,放到web-inf下面的springMVC配 置文件中:

    <bean id="userArgumentResolver" 

class="com.greatwall.module.yhqxgl.interceptor.UserArgumentResolver" />

    <bean 

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"  

>

         <property name="customArgumentResolver">

            <ref bean="userArgumentResolver"/>
        </property>

    </bean>

下面是java代码:

package com.greatwall.module.yhqxgl.interceptor;
import org.springframework.core.MethodParameter;

import org.springframework.web.bind.support.WebArgumentResolver;

import org.springframework.web.context.request.NativeWebRequest;

import org.springframework.web.context.request.RequestAttributes;
import com.greatwall.module.yhqxgl.YhqxglConstants;
import com.greatwall.module.yhqxgl.domain.User;
public class UserArgumentResolver implements WebArgumentResolver {
    public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest

 webRequest) throws Exception {
        if (methodParameter.getParameterType().equals(User.class)) {

            return webRequest.getAttribute

(YhqxglConstants.GREATWALL_SESSION_USER, RequestAttributes.SCOPE_SESSION);

        }
        return UNRESOLVED;
    }
}

利用AnnotationMethodHandlerAdapter对Spring的Controller注入session对象(2)

时间:2011-10-21 blogjava 沉睡森林

调用的过程很简单,直接在controller对应的函数里面加入参数User即可。

@RequestMapping("/txn960204.do")

    public void txn960204(HttpServletResponse response, HttpServletRequest 

req,SysCodedata sysCodedata,User user) {

        try {

            sysCodedata.setUpdateTime(DateUtils.currentDateTime());

            sysCodedata.setUpdateUsername(user.getUsername());
            sysCodedataService.updateOneSysCodedata(sysCodedata);

            JsonUtils.success("修改保存代码明细表成功!", response);

        } catch (ServiceException e) {

            e.printStackTrace();

            JsonUtils.error(e, response);
        }

    }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号