SSM框架中,controller的action返回参数给vue.js
在SSM框架中,controller的action中,返回的是视图,即jsp页面或是ModelAndView,若是通过axios给vue传值的话,需要转换为字符串或是user实体类对象。
使用@ResponseBody进行返回值转换。
@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,实现前后端数值的传递了。
SSM框架中,controller的action返回参数给vue.js的更多相关文章
- ssm框架中Controller层的junit测试_我改
Controller测试和一般其他层的junit测试可以共用一个BaseTest 一.BaseTest如下: @RunWith(SpringJUnit4ClassRunner.class) @WebA ...
- 在MVC过滤器中获取触发的Controller、Action、参数 等
首先是实现接口System.Web.Mvc.IActionFilter的过滤器 获取Controller.Action.参数 方法一. string actionName = filterContex ...
- SSM框架中的前后端分离
认识前后端分离 在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线.将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端. ...
- ASP.NET Core MVC中Controller的Action,默认既支持HttpGet,又支持HttpPost
我们知道ASP.NET Core MVC中Controller的Action上可以声明HttpGet和HttpPost特性标签,来限制可以访问Action的Http请求类型(GET.POST等). 那 ...
- maven springMVC SSM框架中 出现的406 (Not Acceptable)
首先,需要清楚,http state 406代表什么意思: 406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页.一般指客户端浏览器不接受所请求页面的MIME类型. 出现这样的错误 ...
- ASP.NET Core MVC中Controller的Action如何直接使用Response.Body的Stream流输出数据
在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让 ...
- 在SSM框架中我设置拦截器filter不能通过注解获取到实现类
我在用注解注入实现类的时候,出现了这样的错误:如以下截图: 这个地方报出的错误是说明我的一个接口类型的类没有获取到,后来我就想要是我的实现类没有获取到那么我就直接new一个实现类然后再进行调用就会出现 ...
- JAVA使用log4j(另SSM框架中使用log4j)
1.引入jar包 log4j-1.2.13.jar 2.src下建立配置文件:log4j.properties #不+All,只写后一种LOG log4j.rootLogger =ALL,system ...
- 使用 ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体
使用 @ControllerAdvice & ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体 1.Controller代码 以下是Con ...
随机推荐
- 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践
导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望. 在4月21日的Kafka Beijing Meetup第四场活动上,DataPip ...
- 彻底卸载注册表、流氓软件的工具Uninstall Tool
Your Uninstaller 和Uninstall Tool都可以卸载Windows系统卸载不干净的软件和注册表驱动等 Uninstall Tool下载
- winform窗体最小化
const int WM_SYSCOMMAND = 0x112;const int SC_CLOSE = 0xF060;const int SC_MINIMIZE = 0xF020;const int ...
- 使用Linq的过程中碰到的问题
1. 在使用linq过程DefaultIfEmpty的过程中如果 O.RS 这个支段的值是null,在取这个数据 就会报错 ,正确的写法 2. 在使用Linq 用where条件判断要好分辨大小写 3. ...
- js坚持不懈之16:使用js向HTML元素分配事件
向 button 元素分配 onclick 事件: <!DOCTYPE html> <html> <body> <p>点击按钮就可以执行 <em& ...
- C语言实现将日期、时间保存到文本文件中
今天突然兴起,看来一下C语言的文件操作,以前在学习的时候,总是一带而过,觉得没有什么用处:但是现在看来,还真的没有什么用处,最后,我现在还有用到,当然这只是我的个人认为,并不能说明什么,在此我将自己写 ...
- torm入门(三)HelloWorld示例
一.配置开发环境 storm有两种操作模式: 本地模式和远程模式.使用本地模式的时候,你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 用远程模式的时候你提交的t ...
- git tag 打标签
注意:在哪个分支上打tag一定要先提交该分支到远程gitlab仓库 标签(tag)操作 1. 查看所有标签 git tag 默认标签是打在最新提交的commit上的 2.本地打新标签 git tag ...
- C# out ref 用法总结
C#里面的 out 和ref参数时常会用到,但对它们的区别比较模糊.所以总结一下.下面是测试代码: public void Start() { //outSum没必要赋值,赋值了也完全没用. //如果 ...
- django捡破烂
一 Django的model form组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库 ...