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
  • 相关阅读:
    SpringCloud(三):服务消费以及负载均衡(RestTemplate+Ribbon)
    SpringCloud(二):服务的注册与发现(Eureka)
    SpringCloud(一):了解SpringCloud
    SpringBoot(十二):SpringBoot整合Mybatis-Plus
    SpringBoot(十一):SpringBoot整合Redis
    idea使用maven中的tomcat插件开启服务出现java.net.BindException: Address already in use: JVM_Bind :8080错误原因
    SSM框架之SpringMVC(6)异常处理及拦截器
    SSM框架之SpringMVC(5)文件上传
    SSM框架之SpringMVC(4)返回值类型及响应数据类型
    SSM框架之SpringMVC(3)常用注解
  • 原文地址:https://www.cnblogs.com/steveshao/p/11776807.html
Copyright © 2011-2022 走看看