Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Url Spring启动获取参数表_Spring_Spring Boot_Thymeleaf - Fatal编程技术网

从Url Spring启动获取参数表

从Url Spring启动获取参数表,spring,spring-boot,thymeleaf,Spring,Spring Boot,Thymeleaf,您好,有任何方法可以不经请求从url获取值 我在静态文件夹中找到index.html 在index.html的内部,我尝试重定向到我的控制器类页面,如下所示 <a href="/requesthandler?q=myvalue"> 在这一部分之后,我所有的控制器类都运行了,我得到了用户 代理以及我的工作完成后,我想重定向到 /myvalue.html 如果我将从url获取参数值,我可以遵循此步骤 <a href="/mayvalue"> 我对spring boot真的

您好,有任何方法可以不经请求从url获取值

我在静态文件夹中找到index.html

在index.html的内部,我尝试重定向到我的控制器类页面,如下所示

<a href="/requesthandler?q=myvalue">
在这一部分之后,我所有的控制器类都运行了,我得到了用户

代理以及我的工作完成后,我想重定向到

/myvalue.html

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

<a href="/mayvalue">
我对spring boot真的是个新手,所以如果在thymeleaf中还不够,我应该在ApplicationRun类中做什么呢

非常感谢:)

编辑: 我的控制器类就是这样的

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

    UserAgentStringParser parser = UADetectorServiceFactory.getResourceModuleParser();
    ReadableUserAgent agent = parser.parse(userAgent);
    Timestamp timestamp = new Timestamp(System.currentTimeMillis());

    this.host=host;
    this.deviceCategory=agent.getDeviceCategory().getName();
    this.operatingSystem=agent.getOperatingSystem().getName();
    this.typeName=agent.getTypeName();
    this.browserName=agent.getName();
    this.browserIcon=agent.getIcon();
    this.deviceProducer=agent.getProducer();
    this.versionNumber=agent.getVersionNumber().toVersionString();
    this.timeStampLong=timestamp.getTime();



    sendMessage(host,deviceCategory,operatingSystem,typeName,browserName,browserIcon,deviceProducer,versionNumber,timeStampLong);


    return "requesthandler";
}

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

例如:


请查看。

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

@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;
}

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

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


从控制器中添加一些代码。@MarufHassan我编辑了我的问题,并添加了一些代码(实际上是控制器的主要部分)
@GetMapping("/requesthandler")
public String requesthandler
    (
            @RequestHeader(value="User-Agent") String userAgent,
            @RequestHeader(value = "host") String host,
            @RequestParam("q") String variableName,
            Model model
            ){
    /*Body*/
}
@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;
}
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") : "";
   ...
}
public String myHandler(HttpServletRequest request, @..., ...)
{
   String headerValue = request.getHeader("xyz");
   // or have a look at existing Headers with request.getHeaderNames();
   ...
}