2013-03-21 4 views
2

Может кто-нибудь объяснить, как thymeleaf отправить кнопку, работающую в следующем коде?thymeleaf отправить кнопку код

<!DOCTYPE html> 
<html lang="en" xmlns:th="http://www.thymeleaf.org"   

    layout:decorator="master"> 
<head> 
    <title>LoginPage</title> 
</head> 

<body> 
<h1>Login Page</h1> 
<!-- Any content you put in the div fragment below will appear on the page--> 
<div class="container"> 
<div class="row"> 
    <div class="span8"> 

    <P th:if="${loginError}" >Wrong User or Password</P> 

     <form th:action="@{/new}" th:Object="${messageForm}"   
        method="post"> 
     <label for ="User">User Name</label> 
     <input type="text" th:field="*{user}"/><br/> 
     <label for ="password">Password</label> 
     <input type="password" th:field="*{password}"/><br/> 
     <input type="submit" value="Login" /> 
     </form> 

     </div> 
</div> 
</div> 
</body> 
</html> 
+1

Я переключил тег scala с помощью java. На тимелеафе нет ничего, что говорит о том, что scala является обязательным условием. Для меня это выглядит как стандартная java-структура. –

+1

Не могли бы вы предоставить еще какой-то контекст? Я думаю, в этом шаблоне должен быть один или несколько классов java, из которых можно оценить пользовательские выражения шаблонов (например, '$ {messageForm}' или '@ {/ new}'). Не могли бы вы указать учебник или документ, из которого был взят этот шаблон? –

ответ

1

<form> шаблон получает визуализированный как стандартную форму с POST звонок, сделанный при отправке.
Что добавляется каркасом, так это то, что поля формы динамически связаны с базовым объектом, на который ссылается атрибут th:Object="${messageForm}".

Каждое поле вычисляется, вызывая метод на объекте messageForm с синтаксисом th:field="*{password}".

И наконец, вызов POST производится по URL-адресу, созданному путем оценки атрибута th:action="@{/new}", вероятно, относительно текущей страницы.

+1

YEah это я действительно хочу – 2013-05-14 09:15:12

1

Все, что следует за этим, можно найти на этой странице Getting Started.

С первого взгляда я бы сказал, что шаблон <form> визуализируется как стандартная форма с вызовом POST, сделанным при отправке.

Это не более чем простой http/html. Что добавлено инфраструктурой, так это то, что поля формы динамически связаны с базовым объектом, на который ссылается атрибут th:Object="${messageForm}".

Каждое поле вычисляется, вызывая метод на объекте messageForm с синтаксисом th:field="*{password}".

Наконец, POST-вызов выполняется по URL-адресу, созданному путем оценки атрибута th:action="@{/new}", вероятно, относительно текущей страницы.


Приведем пример, чтобы уточнить.
Предположим, что мы имеем

  • объект messageForm типа MessageForm с атрибутами
  • user типа String
  • password типа String
  • шаблон визуализируется в виде веб-страницы с URL "http://my.app.com/login"

W что вы, вероятно, получите, отправив кнопку, заключается в том, что объектбудет иметь свои атрибуты user и password, установленный на значения, которые вы помещаете в соответствующие поля формы, и форма будет вызывать страницу "http://my.app.com/new" или аналогичную, передавая объект messageForm из которого проверить учетные данные для входа в эксплуатацию ...


Если вы не уже, я настоятельно рекомендую вам прочитать documentation на thymeleaf сайте, прежде чем переходить.

Смежные вопросы