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