目前在ssm阶段已经走了有一段时间了,基础知识学的自我感觉还可以。但是真正当我开始做作品的时候,一个又一个问题接踵而至。
这些问题也我在学习过程中没有遇到过的,都是因为需求的需要而产生的。我也将目前这些困扰过我的问题都总结了下来,加深我对这一阶段理解的同时防止我以后再出现相同的问题。
• java传入多个参数时报"Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1,..."
解决方案:mybatis中传入多个参数时,应该使用@param注解
• Mybatis运行出现错误提示:
五月 23, 2018 12:07:22 上午 org.springframework.jdbc.support.SQLErrorCodesFactory <init>
信息: SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
一般这个错误是由于sql语句的输入参数与数据库表结构字段类型不一致导致。
• 返回值为String类型时,无法打印输出
问题描述:只能输出数字,其他类型的数据都不能输出
解决方案:将dataType设置为text
• SpringMVC向ajax返回数据时,出现中文乱码问题
解决方法:添加produces属性
• springMVC produces属性含义
@RequestMapping(value = "/produces", produces = "application/json"):表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/json”时即可匹配;
@RequestMapping(value = "/produces", produces = "application/xml"):表示将功能处理方法将生产xml格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/xml”时即可匹配。
此种方式相对使用@RequestMapping的“headers = "Accept=application/json"”更能表明你的目的。
服务器控制器代码详解cn.javass.chapter6.web.controller.consumesproduces.ProducesController;
客户端代码类似于之前的Content-Type中的客户端,详见ProducesController.java代码。
当你有如下Accept头:
①Accept:text/html,application/xml,application/json
将按照如下顺序进行produces的匹配 ①text/html ②application/xml ③application/json
②Accept:application/xml;q=0.5,application/json;q=0.9,text/html
将按照如下顺序进行produces的匹配 ①text/html ②application/json ③application/xml
q参数为媒体类型的质量因子,越大则优先权越高(从0到1)
③Accept:*/*,text/*,text/html
将按照如下顺序进行produces的匹配 ①text/html ②text/* ③*/*
• ajax向SpringMVC传递数组时,后台接收数组
· mybatis中注解使用foreach