作为新手在学习SSM+Easyui过程中遇到一系列问题

  对于初学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,这样可以不回造成冲突。

以及一些查询的类型是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, page*rows, name, idc, address, sex, minsal,
                maxsal, minage, maxage, demp_id);

        return pList;
    }

原文地址:https://www.cnblogs.com/colourless/p/9973711.html

时间: 2024-12-13 20:25:46

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

学习编程的过程中可能会走哪些弯路?

整理自知乎问题:学习编程的过程中可能会走哪些弯路,有哪些经验可以参考? @Crossin 回头看学生时代,最大的弯路就是怕走弯路.想不走弯路. 纠结该学什么语言.该研究哪个方向.该做项目还是啃算法,生怕一失足成千古恨,踏上一条不归路. 很久之后才发现,与其纠结选择,不如找个点坚持下去.好比爬山,你在山脚下纠结该从哪条路上去,而实际上,每一条都能通往山顶,每一条都不会是笔直平坦的.你怕错过另一条路的风景踟蹰不前,却不知道只要登上山顶就可以一览众山小. 如果一定要说个经验教诲,那就是尽可能多地写代码

学习webpack3.x过程中遇到的问题

这篇博客主要记录的是本人在学习webpack3.x的过程中遇到的问题(虽然这几天4.0刚出来,但是我还是先学一下3.x吧) 1.配置文件可以用webpack启服务和热更新,步骤如下: ① 先下载:webpack-dev-server cnpm install webpack-dev-server --save-dev ② 配置webpack.config.js module.exports = { // 配置入口文件 entry:{}, // 配置出口文件 output:{}, // 配置模块:

那些年,我们在学习编程的过程中可能会走的弯路!

学习编程可能没有捷径,但一定是有弯路的,按危害程度,依次为: 1.不上机. 2.死磕“经典”. 3.玩鄙视链. “不上机” 这个毛病我都不想多说了,野生程序员 - 收藏夹 - 知乎 里多个回答都已经说过很多遍了.不管你是看书还是看视频,正确的姿势都是左边翻开教科书,右边就同时打开电脑——把代码敲进去,把程序跑起来啊!在书上画叉叉圈圈有个毛用!? @姚冬 的说法我觉得特别到位:编程本质上是门手艺.三天不练手生,手艺是练出来的.你当然要看书,但绝对不是只看书就够了. 自己上机过个手,首先能发现问题,

汇总篇--学习及练习过程中遇到过的问题

1. 报不可见异常Element is not currently visible and so may not be interacted with(单选题的答案设置) 就是元素的样式或父级及以上元素含有不可显示属性,以致在有些浏览器中(FirefoxDriver)不能操作,但在正常的浏览器中它是可见和可用的.可通过元素对象的方法isDisplayed()检测元素是否可显示的 在定位的时候前端里看到了是隐藏的样子,但是没意识到,报错后,去掉定位里最后一段隐藏的那个标签,就可以操作了 2. 日期

在学习nodejs的过程中遇到的问题小结

1.全局安装包(以下内容为window7环境下) 大家都知道,Node的包安装分为全局安装和本地安装. 本地安装的位置就是在你输入命令的当前目录下node_modules文件内. 全局安装的位置是在C盘目录下的.C:\Users\YJua\AppData\Roaming\npm\node_modules. 当我们全局安装完包之后,在新创建的项目中直接require该包,会报错,提示没有找到该包.主要的原因是没有配置环境变量. 我们可以在环境变量中配置node_path,该变量的值为全局安装目录,

SSM整合过程中出现的问题

1.Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DataSourceTransactionManager 原因是缺少org.springframework.jdbc-3.1.0.jar包 <dependency>     <groupId>org.springframework</groupId>     <artifactId>spring

在学习抛出异常的过程中,关于错误信息 TypeError: exceptions must derive from BaseException 的原因

虽然是个很low的问题,但是自己还是出现了,所以特地记录下来,保证自己不会再犯.首先看看我的代码 def FooError(ValueError): passdef foo(s): n=int(s) if n==0: raise FooError('无效的值:%s'%s) return 10/nprint(foo('0')) 运行结果为: Traceback (most recent call last): File "C:\Users\Administrator\Desktop\py\廖雪峰\

在学习&quot;$(this)和this&quot;过程中遇到的一点疑惑!

在学习JQuery的过程中,我遇到了$(this),this,通过查阅网上资料,我发现大部分来源中对于它们的解释基本一致,其最终来源似乎都来自一位叫做Remy Sharp的程序员的一篇文章https://remysharp.com/2007/04/12/jquerys-this-demystified ,其中我发现了一些解释并不够清楚的地方,写下来与各位讨论. 以下是在查阅资料过程过发现的一个例子: $("#desktop a img").each(function(index){ a

当学习前端过程中心态发生了变化

学习前端的过程中,我们会遇到各式各样的问题.有的是粗心大意,有的是知识理解的偏差,有的只是自己疲惫所致.这些问题一担越陷越深,都会人让自己的心态产生波动,我们只要想出各种方法来解决问题,才能让自己的心态恢复稳定. 前端相比后台来说,是最直接面对用户群的岗位,用户在访问网站时最直观的就是前端页面.网站出现任何的问题用户所抱怨也是最直观的东西.这就对前端要求提出了更高的要求.我们的职责就是精准的还原出设计图.可以说是经常会和1px的像素较真的工作,偏差也只能在几个像素值之间.这样较真的工作往往都会让