html使用Thymeleaf+Spring引导和Java从网页检索布尔值
public class SuperHuman {
private int id;
@NotBlank(message = "Name must not be empty")
@Size(max = 25, message = "Name must be less than 25 characters")
private String name;
@NotBlank(message = "Description must not be empty")
@Size(max = 100, message = "Name must be less than 100 characters")
private String description;
// The hero boolean will have a default value
private boolean hero;
private List<Power> powers;
上面是我的超人模型。请注意名为hero的布尔变量
@PostMapping("addSuperHuman")
public String addSuper(HttpServletRequest request){
String[] powerIds = request.getParameterValues("powers");
String name = request.getParameter("name");
String description = request.getParameter("description");
// Request for boolean retrieval code here
List<Power> powers = new ArrayList<>();
for(String powerId : powerIds){
powers.add(powerDao.getPowerById(Integer.parseInt(powerId)));
}
SuperHuman superHuman = new SuperHuman();
superHuman.setName(name);
superHuman.setDescription(description);
// superHuman.setHero();
superHuman.setPowers(powers);
superDao.addSuperHuman(superHuman);
return "redirect:/superHumans";
}
上面是我用来通过servlet请求检索表单数据的控制器方法。一旦发现,注释部分将替换为实际工作代码
```
<div class="form-group row pb-3">
<label for="affiliation" class="col-3 col-form-label">
<Strong>Affiliation:</Strong></label>
<div class="col-2">
<select id="heroOrVillian" name="heroOrVillian" class="form-control">
<option value="1">Hero</option>
<option value="2">Villian</option>
</select>
</div>
</div>
```
以上是最后一段。这是HTML表单提交页面的摘录,用于将超人对象添加到SQL数据库中。我现在面临的问题是,;我提出两种选择:
1.)你要么是英雄(布尔值为真)
(二)您要么是Villian(此布尔值为FALSE)
我不确定如何通过html输入返回布尔数据。我已经在谷歌上搜索了这个问题,阅读了thymeleaf的文档,但还没有找到自己的答案
<div class="col-2">
<select id="heroOrVillian" name="heroOrVillian" class="form-control">
<option value="1">Hero</option>
<option value="2">Villian</option>
</select>
</div>
这是我正在处理的部分,我尝试使用th:field${SuperHuman.hero}并将选项值分别设置为th:value=“true”和false,但我只收到了错误的返回
我只是想知道是否有一种方法可以通过一个输入字段返回布尔值true或false,用户可以在该字段中选择他们是英雄还是villian,然后用java接收所述数据,我可以将其提交到SQL数据库中
# 1 楼答案
您必须更改代码,如下所示