当前位置: 首页 > 知识库问答 >
问题:

胸腺叶如何接受输入,然后重定向到另一个页面

刁越
2023-03-14

我正在学习Spring Boot。我有一个具有唯一id的产品列表,我想实现“按id查找”功能,但我不知道如何做到,我搜索了但得到了完全不同的东西。

我已经有一个这样的@Get映射方法:

@Getmapping(/products/{id})

如果我在url中手动输入id,我会得到我想要的东西。但我想在HTML页面中有一个输入框,如:

<form>
   Look up by id: <input/>
</form>

在我提交表单后,它将重定向到该页面。例如,如果输入1,它将转到localhost:8080/products/1

我一直在搜索,但我得到的只是关于@Postmap的东西。

共有2个答案

邹杰
2023-03-14

下面的简单代码将引导您找到一个URL,该URL是由

js lang-js prettyprint-override">document.querySelector("form").addEventListener("submit",function(ev){
 ev.preventDefault();
 this.action="/product/"+this.querySelector("input").value;
 console.log(this.action); 
 // in real code: uncomment next line!
 // this.submit()
})
<form>
   Look up by id: <input type="text" value="123" />
</form>

咸利
2023-03-14

@PostMap添加到您的控制器:

@Controller
@RequestMapping("/products")
public class ProductController {

  @GetMapping //Controller method for showing the empty form
  public String index(Model model) {
    model.addAttribute("formData", new SearchFormData()); // Create an empty form data object so Thymeleaf can bind to it

    return "index";
  }

  @PostMapping
  public String searchById(SearchFormData formData) {
    return "redirect:/products/" + formData.getId(); //Use the value the user entered in the form to do the redirect
  }

  @GetMapping("/{id}")
  public String showProduct(@PathVariable("id") long id) {
    ...
  }
}

使用表示表单字段的SearchFormData(在这种情况下只有一个字段):

public class SearchFormData {
  private long id;

  // getters and setters

并像这样更新Thymeleaf模板:

<form th:action="@{/products}" th:method="post" th:object="${formData}">
  <input th:field="*{id}" type="number">
  <button type="submit">Search</button>
</form>

请注意,th: ject的值需要与用于将SearchFormData实例添加到模型的名称匹配。

有关更多信息,请参阅使用Thymeleaf处理表单。

 类似资料:
  • 我试图从这个胸腺页发送一个参数 然后我尝试使用此代码接收参数() 问题是当的值类似于我在方法中收到的makeAndSendInVoice只是 它不会向我发送部分 我该怎么修?

  • 我想做一些像 在百里香叶中。我知道有一个价值观,我要做的就是 如何在Thyemleaf的select选项中传递两个值。

  • 问题内容: 如何使用jQuery或纯JavaScript将用户从一个页面重定向到另一页面? 问题答案: 一个不只是简单地使用jQuery进行重定向 jQuery不是必需的,[ ]它将最好模拟HTTP重定向。 比使用更好,因为它不会将原始页面保留在会话历史记录中,这意味着用户不会陷入永无休止的后退按钮惨败中。 如果要模拟某人单击链接,请使用 如果要模拟HTTP重定向,请使用 例如:

  • 问题内容: 如何使用Wicket重定向到另一个页面?IIRC,必须在构造函数中引发一些异常,但我不记得是哪个异常。提前致谢。 问题答案: 就像您在自己的答案中指出的那样,投掷a 就能做到这一点,但这实际上是允许重定向并最终在当前页面继续进行的系统的一部分(通常是授权过程的一部分)。如果不是您的情况,但是您仍然必须执行一些中断处理的操作,则最好抛出。 我知道的主要用法是在“重定向到登录页面”过程中。

  • 我试图在thymleaf中迭代函数列表。这就是我所做的。 控制器: 并在html中: 我是新来的。我做错了什么?或者我应该使用?

  • 我想把JavaScript onClick属性使用Thym立叶。 我这样写代码 此代码正在运行。当productName包含这样的特殊字符时,我会遇到问题 然后JavaScript函数看起来像这样 我需要从产品名称中转义双引号和单引号字符。我该怎么做?