Java 如何防止同一模型的多个实例
我想知道如何防止同一型号的多个实例出现在Thymeleaf中,例如:在标题上显示用户名Java 如何防止同一模型的多个实例,java,spring,thymeleaf,Java,Spring,Thymeleaf,我想知道如何防止同一型号的多个实例出现在Thymeleaf中,例如:在标题上显示用户名 <span th:text="${username}">User Name</span> Spring允许您执行以下操作: @ModelAttribute("username") public String username() { return "User Name"; } 这段代码将为每个由封闭控制器处理的请求设置一个“username”属性。您还可以访问几乎所有@Re
<span th:text="${username}">User Name</span>
Spring允许您执行以下操作:
@ModelAttribute("username")
public String username() {
return "User Name";
}
这段代码将为每个由封闭控制器处理的请求设置一个“username”属性。您还可以访问几乎所有@RequestMapping方法可用的参数,包括模型对象本身
如上面的注释所述,如果您希望在特定用户的请求中保留某些对象(例如,从数据库获取该对象并用该实例填充模型),则可以创建@SessionAttributes处理程序或手动将该对象放入会话中
似乎可以从问题中删除“thymeleaf”标记您可以将用户名放在会话中,并可以在thymeleaf中访问它,从而避免重复代码。感谢您的回复!正如您在截取的代码中所显示的,用户名模型属性将始终是“用户名”,不是吗?所以我认为@Apollo solutions更灵活。你怎么想?这取决于你的需要。只有两种选择。ModelAttribute处理程序将在每个请求上调用。如果您想在特定用户(会话)的请求之间持久化某个对象,那么您可以使用@SessionAttributes,或者只是手动将该对象放入会话中。如果您正在设置登录用户的用户名,那么(很可能)该用户本身已经在会话中,对吗?
@ModelAttribute("username")
public String username() {
return "User Name";
}