json的轉換,servlet製作表單或者操作JavaScript函數或語句然後傳向前臺


本文主要講述,在項目操作的時候,通過servlet或者Struts2或者springmvc向前臺頁面傳入json數據或者傳遞HTML表單以及html的一些元素以及JavaScript函數等。

代碼如下:

1.這是在Struts2的框架下的傳遞方法直接傳向頁面:

    public String login() throws Exception {
        Admin loginuser=userservice.loginUser(username,password);
        response.setContentType("text/html;charset=utf-8");
        PrintWriter print=response.getWriter();
        if(loginuser!=null){
            //放入session
            request.getSession().setAttribute("loginUser",loginuser);
            //下邊這一種線程不安全因爲hashMap是非線程安全的
//            ActionContext.getContext().getSession().put("loginUser",loginuser);
            print.write("1");
            print.flush();
            print.close();
            return     NONE;
        }else{
            
            //測試地址:http://localhost:8080/newdemo/login
            response.setContentType("text/html");  
            response.setCharacterEncoding("utf-8");  
            PrintWriter out = response.getWriter();  
            //通過StringBuilder追加的形式用JavaScript進行前臺的傳遞
//            StringBuilder builder = new StringBuilder();    
//            builder.append("<script type=\"text/javascript\" charset=\"UTF-8\">");    
//            builder.append("alert(\"用戶名或者密碼錯誤,請重新登陸!\");");
//            builder.append("window.location.href=\"/newdemo/login.jsp\";");    
//            builder.append("</script>");    
//            out.print(builder.toString());
            
            //通過html的形式向前臺頁面傳入一個表單或者頁面常用標籤
            out.write("<table align=\"center\" border=\"1\">");
            out.write("<tr>");
            out.write("<td>" +"陸垚知馬俐"+"</td>");
            out.write("<td>¥" +"日久見人心"+"</td>");
            out.write("</tr>");
            out.write("<table>");
            out.write("<h1 style=\"font-size: ;color:blue;\">" +"說到做到"+"</h1><br/>");
            out.write("<h1>" +"不放空炮"+"</h1");
            out.close();

           
            
            
            //1,利用json數據形式寫好直接傳遞,用ajax裏的success的result來接受如result.status=n;
//            String json = "{\"status\":\"n\",\"info\":\"手機號已存在!\"}";
//            print.write(json);
            
//            2,對象轉爲json,通過阿里巴巴的控件fastjson-1.2.6.jar方法JSONArray進行轉換
//            Map<String,String> map=new HashMap<String, String>();
//            map.put("sdf", "啦啦啦啦啦");
//            map.put("地方", "發反反覆覆");
//            map.put("個人", "灌灌灌灌");
//            map.put("會員", "誰是誰");
//            map.put("爲", "去去去");
//            print.write(JSONArray.toJSONString(map));
            
            //把對象轉爲json
//            Admin andmin=new Admin();
//            andmin.setId(1);
//            andmin.setLoginName("對方答覆");
//            andmin.setLoginPwd("奮鬥奮鬥");
//            Set<Note> notesForNewuser = new HashSet<Note>();
//            Note n=new Note();
//            n.setId(3);
//            n.setAlert("速度快金晶科技");
//            notesForNewuser.add(n);
//            andmin.setNotesForNewuser(notesForNewuser);
//            print.write(JSONArray.toJSONString(andmin));
            
//            print.write("2");
            print.flush();
            print.close();
            
            return NONE;
        }
        
    }


2,通過springmvc的框架

    @RequestMapping(value="/login", produces="text/html;charset=UTF-8")
    @ResponseBody
    public String login(@RequestParam final String name,
            @RequestParam final String pwd,
            @RequestParam final String type){
        
        AdminBean admin=new AdminBean();
        admin.setAdmin_Username(name);
        admin.setAdmin_Password(pwd);
        Integer role=Integer.parseInt(type);
        admin.setAdmin_Role(role);
        
        AdminBean adminbean=adminService.login(admin);
        String json=null;
        if(adminbean!=null){
            json="{\"code\":\"200\"}";
        }else{
            json = "{\"code\":\"100\",\"msg\":\"您輸入的用戶名或密碼或權限有誤,請覈對後再輸\"}";
        }
                return json;
        
    }



當然了還有一種對象轉json的框架,是公司中比較常用的,相信大家學習了我的這篇分享後對json數據的操作肯定就沒有問題了,下面就講一下這種轉換

代碼大致是這樣的:跟之前fastjson-1.2.6.jar方法JSONArray不同的是用的 JSONArray.fromObject();方法進行的轉換,我會把應用案例傳在博客中請從項目地址四進行下載,是一個了利用jQuery做的高效率分頁項目,分享給大家》》》》》》》wKioL1fBlzbjVTx0AABS9eLu3NY393.png-wh_50用到的jar包,jar包都在項目中。

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        response.setContentType("text/xml; charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        int pageNo = Integer.parseInt(request.getParameter("pageNo"));
        int pageSize = Integer.parseInt(request.getParameter("pageSize"));
        PaginationSupport page = new PaginationBiz().findUsersByPage(pageNo, pageSize);
        
        JSONArray toJSON = JSONArray.fromObject(page);
        System.out.println(toJSON);
        out.print(toJSON);
        out.close();
    }

有四個小項目源碼地址:

項目源碼下載地址:http://down.51cto.com/data/2231519

項目地址二:http://down.51cto.com/data/2231520
項目地址三:http://down.51cto.com/data/2231521

項目地址四:http://down.51cto.com/data/2237422

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章