首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Thymeleaf中的@Scope(value = WebApplicationContext.SCOPE_SESSION,proxyMode = ScopedProxyMode.TARGET_CLASS)

访问Thymeleaf中的@Scope(value = WebApplicationContext.SCOPE_SESSION,proxyMode = ScopedProxyMode.TARGET_CLASS)
EN

Stack Overflow用户
提问于 2019-12-06 11:46:50
回答 1查看 806关注 0票数 0

在HTML中,我似乎无法从Thymeleaf访问范围内的代理数据类Singleton

我的数据类

代码语言:javascript
复制
@Document(collection = "networker")
open class Networker(
    @Id
    var id: String? = null,
    @TextIndexed
    @Indexed(direction = IndexDirection.ASCENDING)
    var name: String? = null,
....

然后我的@Configuration

代码语言:javascript
复制
    @Bean
    @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
    fun networker(): Networker {
        return Networker()
    }

然后,我得到正确的记录,并添加模型的态度

代码语言:javascript
复制
@GetMapping(value = ["index"])
    @ModelAttribute(value = "networker")
    fun profileView(model: Model): String {

        val authentication = SecurityContextHolder.getContext().authentication
        val username: String = authentication.name
        networker = networkerRepository.findBySecurityUserName(username)

        model.addAttribute("networker", networker)
        model.addAttribute("networkerSettings", networkerSettings)

        return "profile/index"
    }

我试过

  1. <tbody th:object="${networker}">
  2. If,我使用th.text="${@networker.name}",我没有得到任何内容,但是编译没有抱怨
  3. ,我尝试过像th:object="${#servletContext.getAttribute(networker)}"这样的东西,但是它们都没有显示我可以编辑

的数据。

请给我看一些工作样本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-08 15:38:53

解决方案很简单,我需要

代码语言:javascript
复制
@Bean
    @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)

我只需要用@Controller注释@SessionAttributes("networker"),从HTML th:object="${networker}"的调用就能很好地工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59212547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档