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 ){ ...... }