spring boot 打成jar包后 通过命令行传入的参数怎么获得
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 打成jar包后 通过命令行传入的参数怎么获得相关的知识,希望对你有一定的参考价值。
参考技术A 面些例说明使用@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模板变量userIdtopicId绑定通 @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)
以上是关于spring boot 打成jar包后 通过命令行传入的参数怎么获得的主要内容,如果未能解决你的问题,请参考以下文章