Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send datas from html to controller in Thymeleaf?

I must send datas from html page (simple form with few input text fields) to page controller and then to database. I am using thymeleaf 2.0.17, spring 3.0. I searched and checked some solutions but didn't work. Maybe someone had the same problem and find some good solution. Please help. Thanks

like image 382
user978758 Avatar asked Jul 16 '13 06:07

user978758


1 Answers

You can find an example in http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#creating-a-form.

As the tutorial suggests, you need to use th:object, th:action and th:field to create a form in Thymeleaf.

It looks like this:

Controller:

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

Hope this helps.

like image 87
Shinichi Kai Avatar answered Oct 20 '22 02:10

Shinichi Kai