spring boot 打成jar包后 通过命令行传入的参数怎么获得
展开全部
面些例说明
使用@RequestParam绑定请求参数值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam参数三:
使用数组或者List让@RequestParam接收同名参数
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List roleList)
value:参数名字即入参请求参数名字username表示请求参数区名字username参数值传入;
required:否必须默认true表示请求定要相应参数否则报404错误码;
defaultValue:默认值表示请求没同名参数默认值默认值SpEL表达式逗#{systemProperties[‘java.vm.version’]}
使用@CookieValue绑定请求Cookie值
@CookieValue参数@RequestParam
第二种绑定javax.servlet.http.Cookie类型参数
public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId)
第种绑定String类型参数
public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId)
使用@RequestHeader绑定请求报文属性值
@RequestMapping(value="/method3") public String method3( @RequestHeader("Accept-Encoding") String encoding, @RequestHeader("Keep-Alive") long keepAlive){ return "methodSignature"; }
使用@PathVariabl获取路径传递参数
@RequestMapping(value="/users/{userId}/topics/{topicId}") public ModelAndView helloWorld( @PathVariable String userId, @PathVariable Long topicId) { System.out.println(id); System.out.println(str); return new ModelAndView( " /helloWorld " ); }
请求URL逗控制器URL/users/123/topics/456则自URL模板变量{userId}{topicId}绑定通 @PathVariable注解同名参数即入参userId=123、topicId=456代码 PathVariableTypeController
使用表单象绑定请求参数值
@RequestMapping(value="/method4") public String method4(User user){ return "methodSignature"; }
使用Servlet API象作入参
同使用HttpServletRequest、HttpServletResponse、HttpSession
@RequestMapping(value="method5") public void method5( HttpServletRequest request, HttpServletResponse response, HttpSession session){ String userName = WebUtils.findParameterValue(request, "userName"); response.addCookie(new Cookie("userName",userName)); }
使用Servlet原API接口WebRequestNativeWebRequest等
@RequestMapping(value="method6") public String method6(WebRequest request){ String userName = request.getParameter("userName"); return "methodSignature"; }
使用IO象作入参
java.io.InputStream/java.io.Reader 及java.io.OutputStream/java.io.Writer
@RequestMapping(value="method7") public void method7(OutputStream os) throws IOException{ Resource res = new ClassPathResource("/image.jpg");//读取类路径图片文件 FileCopyUtils.copy(res.getInputStream(), os); }
使用其类型参数
java.util.Locale/java.security.Principal
通ServletHttpServletRequestgetLocale()及getUserPrincipal()
@RequestMapping(value="method8") public String method8(Locale locale,Principal principal){ return "methodSignature"; }
@SessionAttributes @ModelAttribute使用
默认情况ModelMap属性作用于request级别说本请求结束ModelMap属性销毁希望请求共享ModelMap属性必须其属性转存sessionModelMap属性才跨请求访问
Spring允许我选择情ModelMap哪些属性需要转存session便请求所应ModelMap属性列表能访问些属性功能通类定义处注解@SessionAttributes实现
使模型象(ModelMap)特定属性具Session范围作用域
@Controller @RequestMapping("/user") @SessionAttributes("currUser") //①模型象(ModelMap)currUser属性放Session属性列表便属性跨请求访问 public class UserLoginController{ @RequestMapping(value="/login") public String login(@RequestParam("id") int id, User user, ModelMap model){ // ②往ModelMap存放currUser属性该属性转存Session属性列表 model.addAttribute("currUser", user); return "success"; } }
我②处添加ModelMap属性其属性名currUser①处通@SessionAttributes注解ModelMap名currUser属性放置Session所我login()请求所应JSP视图页面通request.getAttribute(逗currUser)session.getAttribute(逗currUser)获取user象请求所应JSP视图页面通session.getAttribute(逗currUser)或者ModelMap.get(逗currUser)访问属性
我仅 ModelMap 属性放入 Session [email protected]??字符串数组式指定属性 @SessionAttributes({逗attr1,attr2})外@SessionAttributes 通属性类型指定要 session 化 ModelMap 属性 @SessionAttributes(types = User.class)指定类 @SessionAttributes(types = {User.class,Dept.class})联合使用属性名属性类型指定:@SessionAttributes(types = {User.class,Dept.class},value={逗attr1,attr2})
使用@RequestParam绑定请求参数值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam参数三:
使用数组或者List让@RequestParam接收同名参数
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List roleList)
value:参数名字即入参请求参数名字username表示请求参数区名字username参数值传入;
required:否必须默认true表示请求定要相应参数否则报404错误码;
defaultValue:默认值表示请求没同名参数默认值默认值SpEL表达式逗#{systemProperties[‘java.vm.version’]}
使用@CookieValue绑定请求Cookie值
@CookieValue参数@RequestParam
第二种绑定javax.servlet.http.Cookie类型参数
public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId)
第种绑定String类型参数
public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId)
使用@RequestHeader绑定请求报文属性值
@RequestMapping(value="/method3") public String method3( @RequestHeader("Accept-Encoding") String encoding, @RequestHeader("Keep-Alive") long keepAlive){ return "methodSignature"; }
使用@PathVariabl获取路径传递参数
@RequestMapping(value="/users/{userId}/topics/{topicId}") public ModelAndView helloWorld( @PathVariable String userId, @PathVariable Long topicId) { System.out.println(id); System.out.println(str); return new ModelAndView( " /helloWorld " ); }
请求URL逗控制器URL/users/123/topics/456则自URL模板变量{userId}{topicId}绑定通 @PathVariable注解同名参数即入参userId=123、topicId=456代码 PathVariableTypeController
使用表单象绑定请求参数值
@RequestMapping(value="/method4") public String method4(User user){ return "methodSignature"; }
使用Servlet API象作入参
同使用HttpServletRequest、HttpServletResponse、HttpSession
@RequestMapping(value="method5") public void method5( HttpServletRequest request, HttpServletResponse response, HttpSession session){ String userName = WebUtils.findParameterValue(request, "userName"); response.addCookie(new Cookie("userName",userName)); }
使用Servlet原API接口WebRequestNativeWebRequest等
@RequestMapping(value="method6") public String method6(WebRequest request){ String userName = request.getParameter("userName"); return "methodSignature"; }
使用IO象作入参
java.io.InputStream/java.io.Reader 及java.io.OutputStream/java.io.Writer
@RequestMapping(value="method7") public void method7(OutputStream os) throws IOException{ Resource res = new ClassPathResource("/image.jpg");//读取类路径图片文件 FileCopyUtils.copy(res.getInputStream(), os); }
使用其类型参数
java.util.Locale/java.security.Principal
通ServletHttpServletRequestgetLocale()及getUserPrincipal()
@RequestMapping(value="method8") public String method8(Locale locale,Principal principal){ return "methodSignature"; }
@SessionAttributes @ModelAttribute使用
默认情况ModelMap属性作用于request级别说本请求结束ModelMap属性销毁希望请求共享ModelMap属性必须其属性转存sessionModelMap属性才跨请求访问
Spring允许我选择情ModelMap哪些属性需要转存session便请求所应ModelMap属性列表能访问些属性功能通类定义处注解@SessionAttributes实现
使模型象(ModelMap)特定属性具Session范围作用域
@Controller @RequestMapping("/user") @SessionAttributes("currUser") //①模型象(ModelMap)currUser属性放Session属性列表便属性跨请求访问 public class UserLoginController{ @RequestMapping(value="/login") public String login(@RequestParam("id") int id, User user, ModelMap model){ // ②往ModelMap存放currUser属性该属性转存Session属性列表 model.addAttribute("currUser", user); return "success"; } }
我②处添加ModelMap属性其属性名currUser①处通@SessionAttributes注解ModelMap名currUser属性放置Session所我login()请求所应JSP视图页面通request.getAttribute(逗currUser)session.getAttribute(逗currUser)获取user象请求所应JSP视图页面通session.getAttribute(逗currUser)或者ModelMap.get(逗currUser)访问属性
我仅 ModelMap 属性放入 Session [email protected]??字符串数组式指定属性 @SessionAttributes({逗attr1,attr2})外@SessionAttributes 通属性类型指定要 session 化 ModelMap 属性 @SessionAttributes(types = User.class)指定类 @SessionAttributes(types = {User.class,Dept.class})联合使用属性名属性类型指定:@SessionAttributes(types = {User.class,Dept.class},value={逗attr1,attr2})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询