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

春靴/百里香叶例外

姜煌
2023-03-14

我是Springboot的初学者,所以决定在购物车上工作。似乎找不到org.springframework.expression.spel.SpelEvalue ationException: EL1007E的根:在null上找不到属性或字段'name'。嵌套异常是org.thymeleaf.exceptions.TemplateProcessingException: Exception评估SpringEL表达式:“#request.userPrincipal.name”(模板:“/_header”-第11行,科洛48)]具有根本原因

我已经试过检查这个对象是否为空

if (userDetails != null){
   model.addAttribute("userDetails", userDetails);
}

用户类是通过使用“import org.springframework.security.core.userdetails.userdetails

特定HTML代码:

<div class="header-bar">
    <th:block sec:authorize="isAuthenticated()">
      Hello
      <a th:href="@{/admin/accountInfo}" 
         th:utext="${#request.userPrincipal.name}">..</a>
         &nbsp;|&nbsp;
      <a th:href="@{/admin/logout}">Logout</a>
   </th:block>

   <th:block sec:authorize="!isAuthenticated()">
     <a th:href="@{/admin/login}">Login</a>
   </th:block>
 </div>

和我的控制器代码:

@RequestMapping(value = { "/admin/accountInfo" }, method = RequestMethod.GET)
public String accountInfo(Model model) {

    UserDetails userDetails = (UserDetails) 
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    System.out.println(userDetails.getPassword());
    System.out.println(userDetails.getUsername());
    System.out.println(userDetails.isEnabled());

     model.addAttribute("userDetails", userDetails);
     return "accountInfo";
 }

共有2个答案

段干英杰
2023-03-14

再次检查属性property=“委托人.用户名”。Principle具有属性“用户名”:请参阅本教程以获取参考

白淇
2023-03-14

似乎request.userPrincipal.name为空。请仔细检查请求对象。您在哪里创建它?

 类似资料:
  • 我使用Spring的引导2.6.3和我试图使用thymeleaf最近得到一个与html的确认消息后,我通过邮件确认我的帐户(我只是使用确认邮件来验证新帐户),所以我看了一些关于thymeleaf的视频,我标记所有的视频都有一个名为模板的文件夹和静态在src/main/ressource和我没有他们,所以我创建了一个名为模板的文件夹,在文件夹中我创建了一个html文件只是为了尝试它,如果它(html

  • 我不明白,如果html模板与我在ModelAndView中获得的属性链接,如何将RESTFull服务的@Controller更改为@RestController 在胸腺叶模板中 但我想进入索引页面,在后台获取用户名 我可以使用ajax来更新标记“p”,但这样使用thymeleaf并没有什么好处,我可以使用jsp。那么,在Rest时使用thymeleaf的最佳方式是什么?它是否合理?

  • 我用百里香模板发送电子邮件。我有一个模板,比如: 如果为空或,我不想发送电子邮件。我可以设置任何Thymeleaf属性来生成错误并且不会发送邮件吗?因为在没有值的电子邮件中发送“My name is”没有任何意义。 我从Thymeleaf上下文中获取所有值,变量可能是不同类型的,例如、等。我也尝试了以下方法,但它并没有解决我的问题,因为对象总是可用的:

  • 你好,我正在使用Spring boot 2.4. x,我想使用thymeleaf作为我的模板引擎。 我已经添加了百里香,并进行了以下测试 但模板引擎不替换变量,并且已处理的模板变量的值与输入字符串相同。 我有什么错?谢谢你

  • 大家好,我对thymeleaf和我的静态html页面有一个问题。更具体地说,我有一个spring mvc web应用程序,我也在使用spring security,在我的登录页面中,我想使用thymeleaf,这样spring security可以与另一端的客户端层通信吗?我不想在我的所有html页面中包括thymeleaf,因为我将使用AngularJs 我尝试将登录名放在templates文件

  • 您好,我是spring新手,我正试图用thymeleaf显示一个简单的html文件,但在呈现视图时遇到了问题。它只显示字符串“index”,而不显示index中的html内容。html。有人能告诉我我做错了什么吗 调度员servle。xml文件: TestController.java: 指数html文件:在webapp/templates/index中定义。html