首页 > 编程语言 > 详细

【转载】spring mvc 后端获得前端传递过来的参数的方法

时间:2019-11-01 15:05:15      阅读:90      评论:0      收藏:0      [点我收藏+]

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

【转载】spring mvc 后端获得前端传递过来的参数的方法

原文:https://www.cnblogs.com/steveshao/p/11776807.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!