Html 从thymeleaf中的按钮获取输入
我向用户显示一个表单,其中包含一些详细信息,然后用户单击“批准”和“拒绝”。在后端,我想在一个属性-userAction中实现这一点,它可以是“批准”或“拒绝” 如何向用户单击的按钮添加输入?然后这个输入就是requestDto对象的一部分Html 从thymeleaf中的按钮获取输入,html,spring,spring-mvc,thymeleaf,Html,Spring,Spring Mvc,Thymeleaf,我向用户显示一个表单,其中包含一些详细信息,然后用户单击“批准”和“拒绝”。在后端,我想在一个属性-userAction中实现这一点,它可以是“批准”或“拒绝” 如何向用户单击的按钮添加输入?然后这个输入就是requestDto对象的一部分 <form th:action="@{/mission/store/{uuid}(uuid=${uuid})}" th:object="${requestDto}" method="post" class="mission_form"> &l
<form th:action="@{/mission/store/{uuid}(uuid=${uuid})}" th:object="${requestDto}" method="post" class="mission_form">
<div class="wizard-header">
<h3 class="wizard-title">
Approve Mission
</h3>
<h5>Should you chose to accept this mission, press approve.</h5>
</div>
<div class="wizard-footer">
<!--<div class="pull-right">-->
<input type='button' class="btn btn-success" name='approve' value='Approve' />
<!--</div>-->
<div class="pull-left">
<input type='button' th:field="*{}" class='btn btn-danger' name='previous' value='Decline' />
</div>
<div class="clearfix"></div>
</div>
</form>
批准任务
如果您选择接受此任务,请按“批准”。
首先定义一个合适的DataTransferObject:
public class MyRequestDto {
private String userAction;
// don't forget getters and setters
}
然后将该类的对象添加到模型中
// if you are return a M&V-object:
ModelAndView mv = new ModelAndView("viewName")
ModelAndView.addObject("requestDto", new MyRequestDto());
// if you define a Model-Object as input-parameter:
Model.addAttribute("requestDto", new MyRequestDto());
定义这样的表单(我使用按钮元素)。重点是不要使用th:field属性:
<form th:action="...." method="POST" th:object="${requestDto}">
<button name="userAction" value="approve" >Approve</button>
<button name="userAction" value="reject" >Reject</button>
</form>
批准
拒绝
通过将其添加到控制器输入参数(处理post请求的控制器)来接收DataTransferObject:
@有效的RequestDto RequestDto,BindingResult BindingResult
现在您可以访问requestDto的userAction属性。如果单击第一个按钮,则该值为“批准”;如果单击第二个按钮,则该值为“拒绝”。首先,您可以通过检查bindingResults.hasErrors()来检查是否存在绑定错误。按钮标记的工作方式是否与输入标记相同?也许是个愚蠢的问题,我很少使用html。我不会在这里使用。Type=“button”通常用于激活javascript函数,但您正在尝试向控制器发送一些内容。因此,请使用type=“submit”或按钮元素。。。。看起来您正在使用twitters引导。因此,您可以定义类似按钮文本或按钮文本的按钮