Thymeleaf没有认出我的田地获取方法

时间:2018-06-15 10:02:50

标签: java spring-boot thymeleaf

我有一个百里香形式和弹簧靴后端。我有一个模型类,它已经定义了它的getter和setter一点点不同的名字。因此,当我打算采用该模型并将其字段作为表单输入字段时,百万美元不能将它们识别为字段。

这是我的模态,

public class scDto {
    private Integer region;
    private boolean isAmt;

    public scDto() {
    }

    public Integer getRegion() {
        return this.region;
    }

    public void setRegion(Integer region) {
        this.region = region;
    }

    public boolean isAmt() {
        return this.isAmt;
    }

    public void setAmt(boolean amt) {
        this.isAmt = amt;
    }

这是我的表单输入字段,

 <input type="text" th:field="*{sc.isAmt}"/>

这是错误,

 Error during execution of processor 'org.thymeleaf.spring4.processor.attr.SpringInputGeneralFieldAttrProcessor' (price:331)

表格适用于区域领域。但它对Amt字段不起作用。 如果我将isAmt()get方法改为getIsAmt(),也许我可以解决这个问题。但我无法更改模态类的任何方法名称,因为该类已经编译,我通过jar文件使用它。反正有没有解决这个问题。

2 个答案:

答案 0 :(得分:1)

(根据问题的评论复制)

我猜你可以尝试使用{sc.amt}来引用这个变量。 有关javabeans表示法的更多信息,请参阅此处:stackoverflow.com/a/17066599/7629196

答案 1 :(得分:0)

看到您的DTO只有2个字段

public class scDto {
    private Integer region;
    private boolean isAmt;

    public boolean isAmt() {
        return this.isAmt;
    }

...

}

按照惯例

对于像这样的方法名称

boolean isXyz()

您会像xyz

一样阅读

所以这一行

 <input type="text" th:field="*{sc.isAmt}"/>

应该是

  <input type="text" th:field="*{sc.amt}"/>

在评论中也提到了Ruslan K。 只需添加即可添加更多清晰度。