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

Spring MVC/Thymeleaf-未结转到模型的空值

柴琦
2023-03-14

我在使用Thymeleaf和Spring MVC时遇到了一些问题。我有一个实体类,它由连接到SQL数据库的存储库管理。

在我的控制器中,我将返回的实体列表添加到模型中,并尝试在模板中访问这些实体。问题是,当该实体的一个字段为空时,当尝试访问该字段时,它将返回以下格式的SpEL错误。

Exception evaluating SpringEL expression: "entity.phoneNumber" (template: "index" - line 13, col 17)

正如我前面提到的,只有当实体的一个字段为null时才会发生这种情况。我试着像这样使用安全导航操作器。。。

entity?.phoneNumber

但是属性是空的,而不是实体本身。

我也尝试过使用类似的东西,但这也会返回一个错误,因为它甚至找不到属性来查看它是否为null。

<span th:if="${entity.phoneNumber != null}" th:text="${entity.phoneNumber}">Phone Number</span>

控制器看起来像这样。

@Controller
public class IndexController {

@Autowired
CustomerService customerService;

@GetMapping
public String index(Model model) {
        List<ActiveCustomersEntity> entities = customerService.getAllCustomers();
        model.addAttribute("entities", entities);
        return "index";
    }
}

现在我的模板看起来像这样。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <title>title</title>
</head>

<body>
    <table>
        <tr th:each="entity : ${entities}">
            <td th:text="${entity.customerFormattedNm}">Customer Name</td>
            <td th:text="${entity.accountStatusCd}">Account Status Code</td>
        </tr>
    </table>
</body>

</html>

我反复检查拼写错误。当我只查看保证有值的属性时,一切都按预期进行。只有可能为空的属性才会导致问题。

任何帮助都将不胜感激!

共有1个答案

周翰
2023-03-14

提供了一个更新,因为我知道是什么导致了这一点。entity类具有使用trim()函数从数据库中删除尾部空白的getter,因为它使用的是char而不是varchar。空值不能被修剪,所以我只需更改我的getter来解释空值。

return phoneNumber == null ? null : phoneNumber.trim();
 类似资料:
  • 我犯了一个让我发疯的奇怪错误。我有一个控制器,它有两个不同的Get方法,用于两个不同的url映射。URL1工作得非常好,我明白URL2的作用 [THYMELEAF][http-nio-8080-exec-3]异常处理模板“QuestionnaReform”:处理器组织执行期间出错。百里香。标准加工机attr。java导致的StandardEachAttrProcessor(问题:10)。lang.

  • 您好,我在类中使用模型时遇到问题。显示的错误是找不到错误类“App\Models\RegisteredUsers”。 我已经确保名称空间匹配正在使用的内容,但我反复得到同样的错误。 型号代码 控制器代码 目录App/Http/Controllers/RegisterUser-controller App/Http/模型/注册用户-模型 我用PHP artisan创建了模型和控制器。我已经尝试了从l

  • 我怎么能访问变量我添加到模型中的Spring MVC内胸腺模板?我有以下控制器代码: 如何访问thymeleaf模板中的变量var1、var5、var6等?

  • 首先要说的是,我一直在寻找解决方案,现在我非常绝望。 当由Spring Boot运行时,我无法从html页面访问css文件。 html。文件 应用JAVA 文件夹结构: 我尝试过将文件夹放入文件夹和/或删除addResourcesHandler,通过相对路径引用css和其他一些东西。似乎没有什么能解决这个问题。请告诉我,如果你试图解决这个问题,但没有找到解决方案,这样我就知道,我不会被忽视。

  • 本文向大家介绍SpringMVC中使用Thymeleaf模板引擎实例代码,包括了SpringMVC中使用Thymeleaf模板引擎实例代码的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。 Thymeleaf提供了一组Spring集成,允许您将其用作Spring MVC应用程序中全面替代JSP的功能。 Maven依

  • 我得到类模型没有找到错误 在我的模型课上 在我的控制器里 我甚至尝试了。我还是犯了同样的错误