web-dev-qa-db-fra.com

Envoyer des données de HTML au contrôleur dans Thymeleaf?

Je dois envoyer des données de la page html (formulaire simple avec quelques champs de texte d'entrée) au contrôleur de page puis à la base de données. J'utilise thymeleaf 2.0.17, spring 3.0. J'ai recherché et vérifié quelques solutions mais je n'ai pas fonctionné. Peut-être que quelqu'un a eu le même problème et a trouvé une bonne solution. Veuillez aider. Merci

12
user978758

Vous pouvez trouver un exemple dans http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#creating-a-form .

Comme le tutoriel le suggère, vous devez utiliser th:object, th:action et th:field pour créer un formulaire dans Thymeleaf.

Cela ressemble à ceci:

Manette:

@RequestMapping(value = "/showForm", method=RequestMethod.GET)
public String showForm(Model model) {
  Foo foo = new Foo();
  foo.setBar("bar");

  model.addAttribute("foo", foo);
  ...
}

@RequestMapping(value = "/processForm", method=RequestMethod.POST)
public String processForm(@ModelAttribute(value="foo") Foo foo) {
  ...
}

html:

<form action="#" th:action="@{/processForm}" th:object="${foo}" method="post">
  <input type="text" th:field="*{bar}" />
  <input type="submit" />
</form>

Foo.Java:

public class Foo {
  private String bar;

  public String getBar() {
    return bar;
  }

  public void setBar(String bar) {
    this.bar = bar;
  }
}

J'espère que cela t'aides.

41
Shinichi Kai