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

胸腺叶模板无法评估与模型相关的表达

孟成文
2023-03-14

我正在开发我的第一个Spring boot应用程序。它使用MVC模式,并使用Thymleaf来呈现HTML。我有一个显示模型变量的简单HTML模板。不幸的是,我在访问该特定映射/url时遇到以下错误:

出现意外错误(type=内部服务器错误,状态=500)。异常评估SpringEL表达式:"雇员。Lastname(模板:雇员-第22行,第8行)

我想不出是什么问题。

我正在使用百里香叶3.0。11,Spring护套2.1。2.

我检查了以下内容:

  1. 我击中预期的模板(我已经运行相同的静态内容模板)
  2. 我也尝试过显示其他变量除了Lastname和它的工作
  3. NO值为空或空

我的employee模型类如下(没有getter setters):

public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long employeeId;
    private String name;
    private int salary;
    private String Lastname;

    @ManyToMany(cascade = { CascadeType.MERGE, CascadeType.REFRESH })
    @JoinTable(name = "Project_Employee", joinColumns = @JoinColumn(name = "employeeId"), inverseJoinColumns = @JoinColumn(name = "projectId"))
    private Set<Project> projects = new HashSet<Project>();

    public Employee() {
        super();
    }

我的HTML模板如下所示:

<!DOCTYPE html>
<html lang="en" xmlns:th= "http://www.thymeleaf.org">
<head>
     <meta charset= "UTF-8"/>
     <title>Employee View</title>
</head>


<body>
        <h1>WELCOME</h1>
<table>     
        <tr >

            <th>First Name        </th>
            <th>Last Name         </th> 
            <th>Salary            </th>
        </tr>

        <tr th:each = "employee: ${Employee}">
            <td th:text ="${employee.name}"></td> 
            <td th:text ="${employee.salary}"></td>
            <td th:text ="${employee.Lastname}"></td>

        </tr> 

</table>        
</body>
</html>

控制器id如下所示(仅此特定方法):

@RequestMapping("/Employees")
    public String getEmployee(Model model)
    {

        model.addAttribute("Employee", employeeRepository.findAll());
        return "Employees";

    }

共有1个答案

廉子民
2023-03-14

可能找不到getter方法,因为字段名大写。

尝试将其更改为私有字符串lastname 和模板中的${employee.lastname}

根据JavaBeans规范第8.8节,推断名称的大写:

Java程序员习惯于使用以小写字母开头的普通标识符。强大的审查员输入使我们相信,对于属性和事件名称,我们应该遵循同样的传统规则。

 类似资料:
  • 我正在使用Spring Boot 1.2.7和Thymeleaf。 所有html页面都在文件夹中,当我说

  • 我正在迁移现有的应用程序到Spring 5.0.0。M3 该应用程序有两个模板文件夹和。如果我为电子邮件模板指定以下配置,文件夹将被忽略;e、 g.我正在获取此文件夹中模板的。 我尝试过将参数设置为2,10等,这没有什么区别。如果我删除了解析器方法,则可以识别文件夹,但不能识别文件夹。 你知道会发生什么吗?

  • 我想做一些像 在百里香叶中。我知道有一个价值观,我要做的就是 如何在Thyemleaf的select选项中传递两个值。

  • 在我的视图中,我使用spring-boot和thymeleaf作为模板开发了一个应用程序,我尝试在循环中使用变量,但它不起作用。这是我的代码片段:

  • 模型在训练集上的误差通常称为 “训练误差” 或 “经验误差”,而在新样本上的误差称为 “泛化误差”。显然,机器学习的目的是得到泛化误差小的学习器。然而,在实际应用中,新样本是未知的,所以只能使训练误差尽量小。 当模型在训练集上表现很好而在新样本上误差很大时,称为 “过拟合”;反之,模型在训练集上误差就很大时,称为 “欠拟合”。 欠拟合通常容易解决,如 增加数据、增大训练次数、增大学习率或使用更复杂

  • 我试图在thymleaf中迭代函数列表。这就是我所做的。 控制器: 并在html中: 我是新来的。我做错了什么?或者我应该使用?