从Url Spring Boot获取Paremeter

时间:2018-07-04 07:57:07

标签: spring spring-boot thymeleaf

您好,没有任何方法可以从网址获取价值,

我在静态文件夹中有index.html,

在index.html内,我尝试使用以下命令重定向到我的控制器类页面

class="fa fa-plus-circle fa-3x"

然后转到

  

requesthandler.html

在浏览器中我可以看到

<a href="/requesthandler?q=myvalue">

在那部分之后,我所有的控制器类都运行了,并且我有了用户

工作完成后,我也想重定向到

  

/myvalue.html

如果我将从url获取参数值,我可以遵循

localhost:8080/requesthandler?q=mayvalue

摘要: 我想按这样的页面顺序访问。

<a href="/mayvalue">

我真的是关于Spring Boot的新手,所以如果百里香不足以解决这个问题,我应该在ApplicationRun类中做什么。

非常感谢您:)

编辑: 这样的控制器类

http://localhost:8080/index.html(In static folder)

http://localhost:8080/requesthandler?q=mayvalue(I'm goes there with GetMapping return string requesthandler)

http://localhost:8080/mayvalue

3 个答案:

答案 0 :(得分:0)

您可以在控制器的方法参数中使用 @RequestParam

例如:

@GetMapping("/requesthandler")
public String requesthandler
    (
            @RequestHeader(value="User-Agent") String userAgent,
            @RequestHeader(value = "host") String host,
            @RequestParam("q") String variableName,
            Model model
            ){
    /*Body*/
}

请查看https://www.journaldev.com/3358/spring-requestmapping-requestparam-pathvariable-example#spring-requestparam

答案 1 :(得分:0)

以下代码可能会对您有所帮助。

@GetMapping("/requesthandler")
public String requesthandler(
                @RequestParam String q,
                @RequestHeader(value="User-Agent") String userAgent,
                @RequestHeader(value = "host") String host,
                Model model){

    //your code

    return q;
}

答案 2 :(得分:0)

您可以获得特定的查询参数,甚至整个查询参数图:

public String myHandler(
  @RequestParam(value="q") String q,
  @RequestHeader(value="User-Agent") String userAgent
) 
{
   ...
}

public String myHandler(
  @RequestParam Map<String, String> parms,
  @RequestHeader(value="User-Agent") String userAgent
)
{
  String q = parms.containsKey("q") ? parms.get("q") : "";
   ...
}

如果您不想使用RequestHeader-Annotation,请向该方法添加HttpServletRequest-Parameter并从请求中获取Header:

public String myHandler(HttpServletRequest request, @..., ...)
{
   String headerValue = request.getHeader("xyz");
   // or have a look at existing Headers with request.getHeaderNames();
   ...
}