EL1008E:在“ com.inventory.domain.Item”类型的对象上找不到属性或字段“ isAvailable”-可能不是公共的或无效的?

时间:2019-10-30 20:04:58

标签: spring-boot thymeleaf spring-el

我在item bean中有一个布尔字段,所有其他字段都在填充,但是使用thymeleaf在UI中没有填充isAvailable,我得到了错误,因为property can't not found我没有得到根本原因 有什么特定的方法可以读取百里香中的布尔字段。因为在.html页面中,当我尝试读取布尔值st.isAvailable时,找不到后端属性中的引发错误,因此未填充值

Item Bean

package com.inventory.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;

@Entity
@Table(name = "item")
public class Item {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int item_id;

    @ManyToOne
    @JoinColumn(name = "category_id")
    private Category categoryId;

    @Column(name = "item_name",unique = true)
    private String itemName;

    @Column(name = "current_stock_quantity")
    private double currentStockQuantity;

    public double getCurrentStockQuantity() {
        return currentStockQuantity;
    }

    @Column(name = "unit")
    @Enumerated(EnumType.STRING)
    private ItemWeightUnit unit;

    @Column(name = "current_purchase_price")
    private double currentPurchasePrice;

    @Column(name = "is_available")
    private boolean isAvailable;

    @Column(name = "is_active")
    private boolean isActive;

    @Column(name = "item_description")
    @Lob
    private String itemDescription;

    @OneToMany(mappedBy = "item",cascade = CascadeType.ALL)
    private List<Vendor> vendor = new ArrayList<Vendor>();

    @OneToMany(mappedBy = "item",cascade = CascadeType.ALL)
    @OrderBy("transaction_date ASC")
    private SortedSet<ItemTransaction> itemTransaction=new TreeSet<ItemTransaction>();

    @OneToMany(mappedBy = "item",cascade = CascadeType.ALL)
    @OrderBy("date ASC")
    private SortedSet<PricingHistory> priceHistory=new TreeSet<PricingHistory>();

    public SortedSet<ItemTransaction> getItemTransaction() {
        return itemTransaction;
    }

    public void setItemTransaction(SortedSet<ItemTransaction> itemTransaction) {
        this.itemTransaction = itemTransaction;
    }

    public void setCurrentStockQuantity(double currentStockQuantity) {
        this.currentStockQuantity = currentStockQuantity;
    }

    public List<Vendor> getVendor() {
        return vendor;
    }

    public void setVendor(List<Vendor> vendor) {
        this.vendor = vendor;
    }



    public int getItem_id() {
        return item_id;
    }

    public void setItem_id(int item_id) {
        this.item_id = item_id;
    }

    public Category getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Category categoryId) {
        this.categoryId = categoryId;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemDescription() {
        return itemDescription;
    }

    public void setItemDescription(String itemDescription) {
        this.itemDescription = itemDescription;
    }

    public boolean isAvailable() {
        return isAvailable;
    }

    public void setAvailable(boolean isAvailable) {
        this.isAvailable = isAvailable;
    }

    public boolean isActive() {
        return isActive;
    }

    public void setActive(boolean isActive) {
        this.isActive = isActive;
    }


    public ItemWeightUnit getUnit() {
        return unit;
    }

    public void setUnit(ItemWeightUnit unit) {
        this.unit = unit;
    }

    public double getCurrentPurchasePrice() {
        return currentPurchasePrice;
    }

    public void setCurrentPurchasePrice(double currentPurchasePrice) {
        this.currentPurchasePrice = currentPurchasePrice;
    }

    public SortedSet<PricingHistory> getPriceHistory() {
        return priceHistory;
    }

    public void setPriceHistory(SortedSet<PricingHistory> priceHistory) {
        this.priceHistory = priceHistory;
    }

}

                          <tbody>
                                <tr th:each="st,iter : ${items}">
                                    <td th:text="${iter.count}"></td>
                                    <td th:text="${st.itemName}"></td>
                                    <td th:text="${st.currentStockQuantity}"></td>
                                    <td th:text="${st.unit}"></td>
                                    <td th:text="${st.currentPurchasePrice}"></td>

                                    <div th:if="${st.isAvailable} == true">
                                    <td>Yes</td>
                                    </div>
                                    <div th:unless="${st.isAvailable} == false">
                                    <td>No</td>
                                    </div>
                                    <td>
                                        <a href="#" class="btn btn-default" th:href="@{/karyawan/form(id=${st.id})}"
                                           title="Edit Data"><span class="glyphicon glyphicon-edit"></span></a>
                                        <a href="#" class="btn btn-default" th:href="@{/karyawan/delete(id=${st.id})}"
                                           title="Delete Data"><span class="glyphicon glyphicon-trash"></span></a>
                                    </td>
                                </tr>
                                <tr th:if="${#lists.isEmpty(items.content)}">
                                    <td colspan="13" class="text-center">Data Not Found</td>
                                </tr>
                             </tbody>

1 个答案:

答案 0 :(得分:0)

GetterSetter的{​​{1}}方法不正确,在反序列化和序列化时需要更新它们。

isAvailable