从Thymeleaf观点回归价值观

时间:2016-04-27 13:27:20

标签: spring thymeleaf

我正在使用Thymeleaf和Spring 4开发一个应用程序。我需要返回一个值,因为选择。

<form class="form-horizontal" th:action="@{/processInfoBook}"   th:object="${relationshipDTO}" method="post" enctype="multipart/form-data">
<select style="visibility:hidden" hidden="hidden" class="form-control" th:field="*{typeTo}">
    <option th:each="book : ${session.Book}" th:value="${book.getClass().getSimpleName()}"></option>
</select>

使用这种方法,我的控制器中的变量String typeTo已设置,但是这样,它不是。

<input th:with="bookType=${session.Book[1]}" type="hidden" th:field="*{typeTo}" th:value="${bookType.getClass().getSimpleName()}" />

有人可以解释一下我在这里发生了什么以及如何解决这个问题,我更倾向于使用第二种方法,因为我有另一个选择,而我正在复制相同的代码只是为了设置另一个变量。

谢谢!

public class RelationshipDTO {

    private String typeFrom;
    private String typeTo;
    private String dataFrom;
    private String bookTo;
    ...setters and getters

}

观点:

<input type="hidden" th:field="${relationshipDTO.dataFrom}" />
<input type="hidden" th:field="${relationshipDTO.typeFrom}" />
<div class="form-group">
<label for="anotherBook" class="col-sm-5 control-label">TO</label> 
<select class="form-control" th:field="${relationshipDTO.bookTo}">
    <option th:each="book : ${session.Book}" th:value="${book.name}" th:text="${book.name}"></option>
</select> 
//This is the null field
<input th:with="bookType=${session.Book[1]}" type="hidden" th:field="${relationshipDTO.typeTo('hola')}"/>
                    </div>

1 个答案:

答案 0 :(得分:0)

我认为你正在混合概念,如果你对百里香说你将从一个表格和一个特定的对象渲染值,那么你必须使用th:field属性但是:值。

你的标签中也有拼写错误

  

:= =“bookType = $ {session.Book [1]}”

您在输入中分配了一个请求变量“bookType”。

只尝试这个:

<input th:with="${session.Book[1]}" type="hidden" th:field="*{typeTo}"/>

我假设属性typeTo进入对象关系DTO。