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教程系列——Binary Tree
    《Ranked List Loss for Deep Metric Learning》CVPR 2019
    《Domain Agnostic Learning with Disentangled Representations》ICML 2019
    Pytorch从0开始实现YOLO V3指南 part5——设计输入和输出的流程
    Pytorch从0开始实现YOLO V3指南 part4——置信度阈值和非极大值抑制
    Pytorch从0开始实现YOLO V3指南 part3——实现网络前向传播
    Pytorch从0开始实现YOLO V3指南 part2——搭建网络结构层
    Pytorch从0开始实现YOLO V3指南 part1——理解YOLO的工作
    让我佩服的人生 文章
    win8.1配置cordova+ionic等一系列东西
  • 原文地址:https://www.cnblogs.com/steveshao/p/11776807.html
Copyright © 2011-2022 走看看