做爲新手在學習SSM+Easyui過程當中遇到一系列問題

  對於初學SSM來講,若是不熟悉SSM中SpringMVC對數據處理,會形成很大的困擾,java

  SSM中對前臺頁面放在WEB-INF下,對於讀取外部信息,例如導入easyui的js文件。以及不能直接進行跳轉。mysql

  主要是對於在前臺頁面easyui中,用easyui封裝的form表單進行提交數據給SpringMV遇到問題以及跳轉問題。ajax

  對於登陸頁面放在WEB-INF目錄外,用easyui框架中form表單進行登陸查詢功能,對於提交數據設置爲json格式,提交方式爲post,spring

對於設置爲get方式,會形成springMVC接受數據亂碼,須要在tomcat中server.xml中修改一下參數。sql

springMVC接受json數據格式須要添加@ResponseBody,但這樣會形成另外一個問題,返回的數據會變成字符形式或者說不能進行跳轉訪問WEB-INF下頁面,json

即便在方法裏直接調用另外一個跳轉方法,也只會返回一個字符串類型。原本想直接經過返回字符串來判斷直接跳轉的,但不能直接獲取WEB-INF目錄下信息,tomcat

因此直接判斷返回信息用ajax進行後臺鏈接跳轉。session

$("#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或者" ",與數據不匹配,app

結果進去不了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;
    }
相關文章
相關標籤/搜索