【问题标题】:Redirrect from to JSP to @RequestParam从 JSP 重定向到 @RequestParam
【发布时间】:2016-04-18 18:57:09
【问题描述】:

所以我在 JSP 文件中有这段代码:

<form action="/demo/quests/view?questId=${m.id}" >
    <button type="submit" class="btn btn-primary" >See quest</button>
</form

我的方法有这样的定义:

RequestMapping(value = "/view", method = RequestMethod.GET)
public String displayQuest(@RequestParam(value = "questId") String questId, Model model){}

问题是我的表单重定向到quests/view? 我怎样才能让它重定向到quests/view?questId=asdasdasd

**使用@requestParam 是必须的,因为使用@PathVariable 我会遇到一个奇怪的错误

【问题讨论】:

    标签: java jsp spring-mvc


    【解决方案1】:

    你的方法定义没问题,但你应该使用你的表单提交:

    <form action="${pageContext.request.contextPath}/demo/quests/view">
        <input type="text" class="form-control" id="questId" 
        name="questId" required>
        <button type="submit" class="btn btn-primary" >See quest</button>
    </form
    

    @RequestParam 处理名称为questId 的参数,该参数在您的@RequestParam(value = "questId") 方法签名中进行了描述。你可以从我的 github repo 中查看一个确切的例子。

    表单示例: modalAuthor.jsp#form

    处理程序方法示例 AuthorController#authorPost

    【讨论】:

      【解决方案2】:

      替换

       <form action="/demo/quests/view?questId=${m.id}" >
      

      <form action="view?questId=${m.id}" >
      

      【讨论】:

      • 不工作 :) 我的临时解决方案是使用 javascript 进行简单的重定向
      • 对不起,但这无关紧要......按钮操作是问题所在。如果我手动输入 .../demo/quest/view?questId=asdasdasd ,它正在工作
      猜你喜欢
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      相关资源
      最近更新 更多