SSM框架中,controller的action返回参数给vue.js

在SSM框架中,controller的action中,返回的是视图,即jsp页面或是ModelAndView,若是通过axios给vue传值的话,需要转换为字符串或是user实体类对象。

使用@ResponseBody进行返回值转换。

1.String

@RequestMapping("/login")
  @ResponseBody
  public String login(
          )throws Exception
  {
      
     String username ="csq";
     String password ="123"; 
    user r = this.userservice.findLoginUser(username, password);   
    if (r.getIdent() == 0) {
        return "index";
    }
    else{
        return "login";
    }
  }

若是不加@ResponseBody,

此时将报404,找不到对应的jsp页面,因为返回的是视图view。

添加之后,

返回“index”字符串。

2.JSON对象(user实体类,list列表)

@RequestMapping("/login")
  @ResponseBody
  public user login(
          )throws Exception
  {
     String username ="csq";
     String password ="123"; 
    user r = this.userservice.findLoginUser(username, password);
    if (r.getIdent() == 0) {
        return r;
    }
    else{
        return r;
    }
  }

若是不加@ResponseBody,

此时报404,返回的是视图view。

添加之后,

返回json对象,里面是查询到的一条数据。

结论:若是通过jsp页面与后台数据交换的话,就不需要添加@RequestBody,直接返回视图就可以了,因为Spring mvc中默认返回的是视图;若是需要传参数给vue,则需要添加@RequestBody进行返回值的转换。

 

当controller中返回值为json对象时,需要进行一些配置:
(1)springmvc.xml文件中添加:

<!-- 配置json转换器 -->
    <bean id="jsonMessageConverters" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <!-- JSON视图拦截器,碰到ResponseBody会触发 -->
                <ref bean="jsonMessageConverters"/>
            </list>
        </property>
    </bean>

此时运行会报500,ClassNOtFoundException,提示缺少相应的包,

(2)

将jackson对应的三个jar包导入到项目中,此时才可以正确返回json对象,将不再报500.

需要放到WEB-INF下的lib下,引入外部目录的jar,工程编译可以通过,部署的时候不会拷贝到工程里面去,还是找不到(重点)

 

现在就可以传参数给vue,实现前后端数值的传递了。

 

转载于:https://www.cnblogs.com/5201314m/p/10648493.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统是一个基于SSM+Vue.js的网上家电商城系统。本系统的服务对象是家电企业或家电专营店商家。家电商家目前大部分依赖第三方购物平台售货。创建本系统的目的是让这些家电企业有属于自己的网上售货渠道。网上家电商城为家电商家规范了业务流程,简化了业务处理工作量。对于客户来说,有些客户只希望在特定品牌或门店购买。本系统也为这些客户提供了新的购买渠道。 网上家电商城系统分别实现了商家和客户两个模块。客户模块由前台商城系统实现,分为浏览商品、注册登录、下单、退款等子模块。商家模块由后台管理系统实现,分为商品管理、商品类型管理、订单管理、客户管理等子模块。网上家电商城系统完整实现了实际生产生活客户选购、客户下单、卖家处理订单以及退款等业务流程。 系统开发采用B/S架构,以Java作为开发语言。整个系统的后端基于如今企业开发常用的SSM框架,搭载在Tomcat服务器上。系统的前端分为两个模块。客户模块前端使用EasyUI框架。商家模块前端使用Vue.js框架进行开发,采用前后端分离系统,使用Nginx服务器反向代理。系统所用数据库基于小型的MySQL数据库管理系统实现。基于以上技术,本系统经过数据库设计、系统功能设计、系统实现等开发流程,完成了软件开发的相关工作,满足实际生产生活网上家电商城的功能需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值