【问题标题】:Spring MVC - Share DataSpring MVC - 共享数据
【发布时间】:2017-01-24 04:00:12
【问题描述】:

我是 Spring 新手,我一直在使用 Spring Boot 和 Freemarker 模板来构建一个简单的博客应用程序。在我的应用程序中,我有一个由所有其他视图共享的 navbar.ftl。 在此导航栏中,我想访问所有作者的列表,以便在下拉列表中显示他们的姓名(下面的代码),但我不确定如何在此处访问它,因为此导航栏在所有视图之间共享。

    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Authors <span class="caret"></span></a>
      <ul class="dropdown-menu">
        <#--Need to list all authors here. How???-->
      </ul>
    </li>

我有一个 AuthorRepository,我可以在其中找到所有作者,但我不确定如何在我的视图中使用它(我认为视图无论如何都不能直接访问模型)。

@Repository
public interface AuthorRepository extends CrudRepository<Author, Long> {
}

知道如何在此导航栏中显示作者列表,以便显示他们的姓名吗?

【问题讨论】:

  • 谢谢,但我知道我可以在特定控制器中使用 model.addAttribute("authors", authorArray)。问题是这个导航栏在我的所有视图之间共享,所以我不想为我的应用程序中的每个控制器添加这个属性。例如,在 ruby​​ 中,我会做这样的事情(直接从我的视图中访问模型)。那么使用 Spring 执行此操作的最佳方法是什么?

标签: spring-mvc spring-boot


【解决方案1】:

我认为控制器可以创建函数 common ShareData。将所有数据放入方法中,在需要时将其与调用函数 ShareData() 一起使用。我就是这么想的。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签