有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您必须更改代码,如下所示

     <select id="heroOrVillian" name="heroOrVillian" class="form-control">
                                <option value="0">Hero</option>
                                <option value="1">Villian</option>
                            </select>