对于初学SSM来说,如果不熟悉SSM中SpringMVC对数据处理,会造成很大的困扰,

  SSM中对前台页面放在WEB-INF下,对于读取外部信息,例如导入easyui的js文件。以及不能直接进行跳转。

  主要是对于在前台页面easyui中,用easyui封装的form表单进行提交数据给SpringMV遇到问题以及跳转问题。

  对于登录页面放在WEB-INF目录外,用easyui框架中form表单进行登录查询功能,对于提交数据设置为json格式,提交方式为post,

对于设置为get方式,会造成springMVC接受数据乱码,需要在tomcat中server.xml中修改一下参数。

springMVC接受json数据格式需要添加@ResponseBody,但这样会造成另一个问题,返回的数据会变成字符形式或者说不能进行跳转访问WEB-INF下页面,

即使在方法里直接调用另一个跳转方法,也只会返回一个字符串类型。本来想直接通过返回字符串来判断直接跳转的,但不能直接获取WEB-INF目录下信息,

所以直接判断返回信息用ajax进行后台连接跳转。

$("#userForm").form('submit',{
url : 'login',
contentType: "application/json;charse=UTF-8",
dataType : 'json',
success : function(data){
if(data){
$.messager.show({
title : "提示",
msg : data,
});
if(data.match('login success')){
$(location).attr('href', 'inner');
}
}
}, });
        //登录查询
@RequestMapping(value="/login",method = RequestMethod.POST)
@ResponseBody
public String searchOne(User user, HttpSession session) throws IOException{
System.out.println(user);
User usr = userService.searchOne(user); if (null != usr && !"".equals(usr)) {
session.setAttribute("user", usr);
//inner();        //调用跳转方法不行
return "login success";
}else{ return "login error";
}
} //跳转
@RequestMapping("/inner")
public String inner(){ return "companySet";
}

 

  对于某些数据提交给SpringMVC控制器时,新增提交json格式的对象,对象主键是int类型,但新增是主键会默认为null或者" ",与数据不匹配,

结果进去不了controller里面,所以需要把主键类型改为int的封装类即Integer,如果没有数据会自动默认为null或者" ",还可以在前台将主键信息默认为0,前提是mysql主键默认为自增,这样可以不回造成冲突。

以及一些查询的类型是int类型,也需要在controller方法中引入变量改成封装类型Integer。

  @RequestMapping("/p/queryAll")
@ResponseBody
public Object queryAll(Integer page, Integer rows, String name, Integer idc, String address,
String sex, Integer minsal, Integer maxsal, Integer minage, Integer maxage, Integer demp_id ){
System.out.println(page+"/"+rows);
List<People> pList = new ArrayList<People>();
if(page==null && rows==null){page=0;rows=0;}
if(idc==null){idc=0;}
if(minsal==null && maxsal==null){minsal=0;maxsal=0;}
if(minage==null && maxage==null){minage=0;maxage=0;}
if(demp_id==null){demp_id=0;}
pList = peopleService.queryAll((page-1)*rows, rows, name, idc, address, sex, minsal,
maxsal, minage, maxage, demp_id);
//设置,查询全部数据
List<People> plist = peopleService.queryAll(0, 0, "", 0, "", "", 0,
0, 0, 0, 0);
int total = 0;
for (People people : plist) {
total++;
}
//传到前台easyui----总条数及分页数据
Map<String,Object> pMap = new HashMap<String,Object>();
pMap.put("total", total);
pMap.put("rows", pList);
return pMap;
}

作为新手在学习SSM+Easyui过程中遇到一系列问题的更多相关文章

  1. 在学习python的过程中,遇到的最大的困难是什么?

    本人文科生,回顾自己近 2 年的Python 自学经历,有一些学习心得和避坑经验分享给大家,让大家在学习 Python 的过程中少走一些弯路!减少遇到不必要的学习困难! 首先,最开始最大的困难应该就是 ...

  2. [持续更新] Python学习、使用过程中遇见的非代码层面知识(想不到更好的标题了 T_T)

    写在前面: 这篇博文记录的不是python代码.数据结构.算法相关的内容,而是在学习.使用过程中遇见的一些没有技术含量,但有时很令人抓耳挠腮的小东西.比如:python内置库怎么看.python搜索模 ...

  3. 学习webpack3.x过程中遇到的问题:webpack-dev-server

    这篇博客主要记录的是本人在学习webpack3.x的过程中遇到的问题(虽然这几天4.0刚出来,但是我还是先学一下3.x吧) 1.配置文件可以用webpack启服务和热更新,步骤如下: ① 先下载:we ...

  4. Java 理论和实践: 了解泛型 识别和避免学习使用泛型过程中的陷阱

    Brian Goetz (brian@quiotix.com), 首席顾问, Quiotix 简介: JDK 5.0 中增加的泛型类型,是 Java 语言中类型安全的一次重要改进.但是,对于初次使用泛 ...

  5. Deep Q-Network 学习笔记(一)—— Q-Learning 学习与实现过程中碰到的一些坑

    这方面的资料比较零散,学起来各种碰壁,碰到各种问题,这里就做下学习记录. 参考资料: https://morvanzhou.github.io/ 非常感谢莫烦老师的教程 http://mnemstud ...

  6. SSM整合过程中出现的问题

    1.Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DataSourceTransac ...

  7. Mysql安装过程中出现apply security settings错误的解决方法

    在学习Mysql的过程中,首先要安装Mysql.然而在第一遍安装过程中难免会出现安装错误的时候,当卸载后第二次安装(或者第三次甚至更多次)的时候,往往在安装最后一步会出现apply security ...

  8. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  9. 各种报错各种坑 webpack让我在学习的过程中一度想要放弃

    由于拓展部分不是必须的,只是可以增强用户体验,但是有些时候页面给分页预留的位置不够,这个时候我们就可以通过设置来除去这一部分 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定, ...

随机推荐

  1. linux 系统下安装多个php版本

    思路: 下载不同的php源码包,解压后安装在不同的目录下,修改php-fpm监听的端口号 php安装配置参数: ./configure --prefix=/usr/local/php71 --exec ...

  2. Java核心知识盘点(三)- 框架篇-Spring

    Spring的两大核心特性:IOC.AOP IOC:控制反转.依赖注入,它并不是一种技术实现,而是一种思想.把一些相互依赖对象的创建.协调工作交给Spring容器来管理,每个对象只需要关注其自身的业务 ...

  3. vue 打开新窗口

    const {href} = this.$router.resolve({ name: 'foo', query: { bar } }) window.open(href, '_blank')

  4. 模板引擎ejs入门学习

    1:利用 NPM 安装 EJS 很简单 npm install ejs 2:安装完成肯定就是使用了 var template = ejs.compile(str, options); template ...

  5. R代码展示各种统计学分布 | 生物信息学举例

    二项分布 | Binomial distribution 泊松分布 | Poisson Distribution 正态分布 | Normal Distribution | Gaussian distr ...

  6. 在vue中使用watch监听对象或数组

    最近发现在vue中使用watch监听对象或者数组时,当数组或者对象只是单一的值改变时,并不会出发watch中的事件. 在找问题过程中,发现当数组使用push一类的方法时,会触发watch,如果只是单一 ...

  7. 杂记:Django和static,Nginx配置路径,json_schema

    前记:知识无处不在,要懂得珍惜,找到适合自己的方法高效地学习有价值的知识,不念过去,不畏将来. Django对待静态资源,在非前后端分离时的常识 Django会对项目app下的static文件夹的静态 ...

  8. Jieba库使用和好玩的词云

    jieba库的使用: (1)  jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式.全模式和搜索引擎模式,下面是三种模式的特点. 精确模式:试图将语句最精 ...

  9. 记一次linux上的ftp搭建过程

    最近公司测试环境需要搭建ftp,正好自己稍微有点空且这方面确实不会,就自告奋勇说让我先试试,玩炸了你们再帮忙重装系统重新搭吧(手动滑稽),虽然最终是完成了,但是中间磕磕碰碰遇到一些小问题,到处查百度, ...

  10. CNN 分割

    测试的是Cifar10数据集,采用VGG模型的网络参数是[32, 'M', 64, 'M', 128, 128, 'M', 256, 256, 'M', 256, 256],准确度大概在90.6左右 ...