弹簧处理程序的损坏URL

时间:2017-07-18 06:34:57

标签: spring url parameters

我在javascript中有这样的重定向:

  

window.location.href =' /webapp/record.action?date =' + varDate +'& id =' +   VARID;

当我执行此操作时,我会按预期调用我的spring-handler:

public void record(Model model, @RequestParam(value="varDate") String date, @RequestParam(value="varId",) String id){...}

但是我的第二个参数" varId"每次都是空的。当我正在查看我的HttpServletRequest时,我看到的是url而不是显示url:

  

/webapp/record.action?varDate=2017-07-01& _ = 1500358872039)@ 1495183143   org.eclipse.jetty.server.Request@591eaf27

这个网址是如何创建的?为什么我丢失了第二个参数" varId" ?

1 个答案:

答案 0 :(得分:0)

您将参数作为 id 传递,并在spring控制器中尝试将其检索为 varId

更改控制器中的代码如下:

    $this->output->set_header("HTTP/1.0 200 OK");
    $this->output->set_header("HTTP/1.1 200 OK");
    $this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
    $this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
    $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
    $this->output->set_header("Cache-Control: post-check=0, pre-check=0");
    $this->output->set_header("Pragma: no-cache");