当前位置: 首页 > 知识库问答 >
问题:

java spring thymeleaf:将具有枚举列表属性的对象绑定到html表单

巫马山
2023-03-14

我有一个包含可能的运输选项列表的实体:

//ShippingType.java
public enum ShippingType {
    DOWNLOAD,
    SHIPPING
}


//SoftwareType.java
@Entity
public class SoftwareType {

    //...
    @Column(unique = true)
    private String name;

    @ElementCollection(targetClass=ShippingType.class)
    @CollectionTable(name = "softwaretype_shippingtype", joinColumns = @JoinColumn(name = "softwaretype_id"))
    @Column(name = "shippingtype", nullable = false)
    @Enumerated(EnumType.STRING)
    private List<ShippingType> supportedShippingTypes;

    //...

    public List<ShippingType> getSupportedShippingTypes() {
        return supportedShippingTypes;
    }

    public void setSupportedShippingTypes(List<ShippingType> supportedShippingTypes) {
        this.supportedShippingTypes = supportedShippingTypes;
    }
}

现在,我想将带有thymeleaf的对象绑定到html表单,以便轻松创建/编辑此类实体。

<div class="panel-body" th:fragment="createUpdateForm(action, SoftwareType)">
    <form role="form" action="#" th:action="@{${action}}" th:object="${SoftwareType}" method="post">

        <label for="softwareTypeName">Name</label>
        <input type="text" th:field="*{name}" id="softwareTypeName"/>

        <!-- how to insert checkboxes of shippingTypes ?? -->
        <button type="submit" value="submit"/>
    </form>
</div>

但是如何插入包含所有ShippingTypes的复选框列表并将其绑定到对象?

共有1个答案

暴招
2023-03-14

您可以迭代枚举发货类型,例如:

<div th:each="shippingType : ${T(com.example.ShippingType).values()}">
    <input type="checkbox" th:id="${{shippingType}}" th:value="${{shippingType}}" th:field="*{supportedShippingTypes}" />
    <label th:for="${{shippingType}}">Shipping Types</label>
</div>
 类似资料:
  • 问题内容: 我的ViewValue类定义如下: 在我的代码中,我需要将ViewValue实例列表转换为包含来自相应ViewValue的id字段值的列表。 我用foreach循环来做: } 有没有更好的方法来解决这个问题? 问题答案: 编辑:此答案基于以下想法:您需要对代码中其他位置的不同实体和不同属性执行类似的操作。如果您 只需 要按ID将ViewValues列表转换为Longs列表,则请坚持使用

  • 问题内容: 考虑: 有没有办法使这种简单枚举的思想适应这种情况?(请参阅此问题)理想情况下,就像在Java中一样,我想将它们全部塞入一个类中。 Java模型: 问题答案: Python 3.4具有新的Enum数据类型(已反向移植为,并增强为1)。无论和2轻松支持您的使用情况: [ py2 / 3] [ py2 / 3或3.4+] 并在使用中: 1披露:我是Python stdlib ,backpo

  • 我正在将一个项目升级到Spring Boot 2.2.6。在编译错误之后,将yaml属性数据绑定到对象列表- **请注意,该项目是在我使用的以前版本的spring boot(2.2.1)中编译的** JAVAlang.IllegalStateException:未能加载ApplicationContext,原因是:org。springframework。靴子上下文属性。ConfigurationP

  • 我正在创建词汇表,一个GUI程序来管理未知单词。我得到: /usr/bin/python3。5/主页/cali/Pycharm项目/词汇表/词汇表。Tkinter回调回溯中的py异常(最近一次调用最后一次): 文件“/usr/lib/python3.5/Tkinter/init.py”,第1553行,在调用返回self中。func(*args)文件“/home/cali/PycharmProjec

  • 当我尝试运行代码时,select元素出现问题。它会给我一个错误 就像我没有任何选择元素一样。是因为它没有关注弹出窗口吗?我做错了什么? MyCode.py select.py中的错误: 例外情况: