Hibernate org.springframework.expression.spel.SpelEvaluationException:EL1007E:属性或字段';chargesName';在null上找不到

Hibernate org.springframework.expression.spel.SpelEvaluationException:EL1007E:属性或字段';chargesName';在null上找不到,hibernate,spring-boot,spring-data-jpa,thymeleaf,Hibernate,Spring Boot,Spring Data Jpa,Thymeleaf,我的项目基于springboot、Thymeleaf、mysql、html和Jquery 我的场景 就是获取列表,在HTML中迭代并显示表1列中的数据,然后发布从动态输入字段中获取的数据(HTML chargesName和input amount),并将其保存到相关列中,因此需要点击spring boot@RestController 但我犯了一个错误 org.springframework.expression.spel.SpelEvaluationException:EL1007E: 在nu

我的项目基于springboot、Thymeleaf、mysql、html和Jquery

我的场景 就是获取列表,在HTML中迭代并显示表1列中的数据,然后发布从动态输入字段中获取的数据(HTML chargesName和input amount),并将其保存到相关列中,因此需要点击spring boot@RestController

但我犯了一个错误

org.springframework.expression.spel.SpelEvaluationException:EL1007E: 在null上找不到属性或字段“chargesName”

这是完整的代码…

/**
*这是固定费用表
*/
$(文档).ready(函数(){
$(“选择”).change(函数()
{
var amttype=$(this.val();
如果(amttype==1)
{
$(“#amt1”).show();
$(“#amt2”).hide();
$(“#amt3”).hide();
} 
else if(amttype==2)
{
$(“#amt1”).hide();
$(“#amt2”).show();
$(“#amt3”).hide();
} 
else if(amttype==3)
{
$(“#amt1”).hide();
$(“#amt2”).hide();
$(“#amt3”).show();
}
否则{
$(“#amt1”).hide();
$(“#amt2”).hide();
$(“#amt3”).hide();
}
});
});

在此处插入标题
费用名称
数量
费用/单位类型
perFlat
佩鲁尼特
珀斯夫特
提交
重置

您使用了html页面顶部的表单:

<form method="post" th:object="${entSetCharges}" th:action="@{/updatesetcharges}">

th:field=“*{chargesName}
绑定到
th:object=“${entSetCharges}
中的object/bean。这意味着您正在搜索
entSetCharges
对象中不存在或为空的
chargesName
字段

解决方案:

  • 可能将
    th:field=“*{chargesName}”
    更改为
    ${savedcharges.chargesName}
    表达式以访问对象的字段

  • 尝试添加
    respondResult.addObject(“entSetCharges”,new entSetCharges())在您的回程线上。您的视图不会自动为您创建此对象


I初始化实体对象,如respondResult.addObject(“entSetCharges”,new entSetCharges())

@GetMapping(value="/setchargeslist")
    public ModelAndView doGetSetchargesList()
    {
        List<EntSetCharges> listCharges = new ArrayList<>();
        ModelAndView respondResult = new ModelAndView("SetCharges");
        try {
            /*Get the set charges list*/
            listCharges = serSetCharges.doGetSetChargesList();
            if(listCharges!=null)
            {
            respondResult.addObject("savedchargeslist",listCharges);
            respondResult.addObject("entSetCharges",new EntSetCharges());
            }
            else
            {
                respondResult.addObject("savedchargeslist",new ArrayList<>());
            }

        } catch (Exception e) {
            // TODO: handle exception
        }
        return respondResult;
    }
@GetMapping(value=“/setchargeslist”)
公共模型和视图doGetSetchargesList()
{
列表费用=新的ArrayList();
ModelAndView respondResult=新的ModelAndView(“设置费用”);
试一试{
/*获取设置的费用列表*/
listCharges=serSetCharges.doGetSetChargesList();
如果(listCharges!=null)
{
addObject(“savedchargeslist”,listCharges);
addObject(“entSetCharges”,new entSetCharges());
}
其他的
{
addObject(“savedchargeslist”,new ArrayList());
}
}捕获(例外e){
//TODO:处理异常
}
返回响应结果;
}

savedcharges.chargesName是从EntAssignCharges获取的,但我需要将其存储到EntSetCharges中,不幸的是两者的列名都是相同的“.chargesName”。.ERROR::org.thymeleaf.exceptions.TemplateProcessingException:Exception评估SpringEL表达式:“EntSetCharges.chargesName”(模板:“SetCharges”-第33行,第91列)错误2:由以下原因引起:org.springframework.expression.spel.SpelEvaluationException:EL1007E:在Null上找不到属性或字段“chargesName”。是否可以尝试向模型中添加新的EntSetCharges对象?类似这样:
respondResult.addObject(“entSetCharges”,new entSetCharges())并告诉我发生了什么我的意思是add
respondResult.addObject(“entSetCharges”,new entSetCharges())