zoukankan      html  css  js  c++  java
  • 【转载】spring mvc 后端获得前端传递过来的参数的方法

    1.通过HttpServletRequest 获得

    HttpServletRequest.getParameter(参数名),可以获得form表单中传递的参数,或ajax或url中传递过来的参数,
    如果通过form表单传递,需要form表单中的input框的 name属性的值和传递给getParameter的参数名保持一致,大小写也要一致
    @Controller
    @RequestMapping("/")
    public class UserController {
         private UserService us;
       @ResponseBody
        @RequestMapping("loginForm")
        public void login(HttpServletRequest req, HttpServletResponse rsp) throws IOException{
            String userName=req.getParameter("username").trim();//trim() 删除字符串前后的空格
            String passWord=req.getParameter("password").trim();
            String userInfo = us.check(userName, passWord);
            String[] result = new String[1];
            //从返回值中取出用户名存到result中
            if (userInfo != "false") {
                result[0]= "true";
            }else {
                result[0]= "false";
            }
            User user = new User();
            user.setUserName(userName);
            req.getSession().setAttribute("user",user);
            //增加回显用户名
            req.getSession().setAttribute("sessionAdminUserName",userName);
            rsp.setContentType("application/json");
            rsp.setCharacterEncoding("utf-8");
            // 首先把字符串转成 JSONArray对象
            JSONArray jsonArray = JSONArray.fromObject(result);
            JSONObject jsobjcet = new JSONObject();
            jsobjcet.put("data", jsonArray); 
            try {
                rsp.getWriter().write(jsobjcet.toString());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
    }
    

    }

    2.通过实体传递

      controller中接收的参数直接是实体,controller将实体名传给server层,server层将实体传递给接口实现层(serverimpl),结构实现层通过get方法获取到参数的值,传递给数据层(mapper)
    前提条件是form表单中的input框的name属性的值一定要与实体保持一致,包括大小写
        /**
         * 新增用户
         * */
        @RequestMapping(value = "addUser")
        @ResponseBody
        public int newaddusr(User user){
            Date d = new Date();
            SimpleDateFormat Time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String regDate=Time.format(d);
            user.setRegDate(regDate);
            String authorization=user.getAuthorization();
            if(authorization=="") {
                authorization="1";
                user.setAuthorization(authorization);
            }
            int status = us.addUser(user);
            return status;
        }

    3.通过参数名直接传递

    前提条件是form表单中的input框的name属性的值一定要与实体保持一致,包括大小写
        @RequestMapping("apicharts")
        @ResponseBody
        public List<Map<String, Object>> apicharts(String projectName,String environment,HttpServletResponse rsp,Map<String, Object> map) {
            //查询项目名称列表
            ats.projectName(map);
            //查询环境名称列表
            ats.environmentName(map);
          List<Map<String, Object>> versionInfo=ats.versionCount(projectName,environment,map);
          return versionInfo;
        }  

    4. 通过@RequestParam注解获得:

      参数1要与form表单中的input框的name属性的值一致,包括大小写,参数2可以理解为参数1 的别名

    @RequestMapping(value="/logout")
    public String logout(@RequestParam(value="参数1",required=false)String 参数2
    ){  
         ......
    }
    原文地址:https://www.cnblogs.com/alasijia/p/9334655.html
  • 相关阅读:
    (二分查找 拓展) leetcode 69. Sqrt(x)
    (二分查找 拓展) leetcode 162. Find Peak Element && lintcode 75. Find Peak Element
    (链表) lintcode 219. Insert Node in Sorted Linked List
    (二分查找 拓展) leetcode 34. Find First and Last Position of Element in Sorted Array && lintcode 61. Search for a Range
    (最短路 Floyd) P2910 [USACO08OPEN]寻宝之路Clear And Present Danger 洛谷
    (字符串 数组 递归 双指针) leetcode 344. Reverse String
    (二叉树 DFS 递归) leetcode 112. Path Sum
    (二叉树 DFS 递归) leetcode 101. Symmetric Tree
    (二叉树 递归) leetcode 144. Binary Tree Preorder Traversal
    (二叉树 递归 DFS) leetcode 100. Same Tree
  • 原文地址:https://www.cnblogs.com/steveshao/p/11776807.html
Copyright © 2011-2022 走看看