我正在使用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>
答案 0 :(得分:0)
我认为你正在混合概念,如果你对百里香说你将从一个表格和一个特定的对象渲染值,那么你必须使用th:field属性但是:值。
你的标签中也有拼写错误
:= =“bookType = $ {session.Book [1]}”
您在输入中分配了一个请求变量“bookType”。
只尝试这个:
<input th:with="${session.Book[1]}" type="hidden" th:field="*{typeTo}"/>
我假设属性typeTo进入对象关系DTO。