Java 重头戏2.0:将主标题持久化到数据库

Java 重头戏2.0:将主标题持久化到数据库,java,playframework-2.0,ebean,Java,Playframework 2.0,Ebean,我的web应用程序有一个主标题,显示在每个页面上。例如,stackoverflow将在每页的顶部菜单中显示。目前,此标题已硬编码在my main.scala.html中: <title>My Main Title</title> 我的主标题 我想在我拥有的设置页面上配置此标题。我如何保持这种状态,以便以后加载并让用户对其进行配置?在呈现页面时发送字符串类型的variralbe以播放框架视图,并将该变量用作标题。此变量可在控制器中配置: 你的控制器 公共静态结果func

我的web应用程序有一个主标题,显示在每个页面上。例如,stackoverflow将在每页的顶部菜单中显示。目前,此标题已硬编码在my main.scala.html中:

<title>My Main Title</title>
我的主标题

我想在我拥有的设置页面上配置此标题。我如何保持这种状态,以便以后加载并让用户对其进行配置?

在呈现页面时发送字符串类型的variralbe以播放框架视图,并将该变量用作标题。此变量可在控制器中配置:

  • 你的控制器

    公共静态结果func(){
    String title=“您的标题”;
    //你的代码
    返回ok(index.render(title));
    }

  • 你的观点

    @(标题:字符串)
    @头衔
    


  • 只需创建
    Title
    model+模板进行编辑,搜索ID最高的标题,确保只获取最新的一个(如果有多个:

    String pageTitle = Title.find.setOrderBy("id DESC").setMaxRows(1).findUnique();
    
    另一方面,为了存储静态消息,还可以使用
    conf/messages
    文件,即添加行:

    主标题=我的主标题

    因此,您可以在任何模板中使用它:

    <title>@Messages("mainTitle")</title>
    
    @消息(“主标题”)
    

    正如您所看到的那样,它不允许“动态”更改标题;这样做比每次从DB中选择pageTitle并将其作为参数传递要简单得多。

    创建一个模型
    title
    ,并设置一些默认值……问题出在哪里?没有任何方法可以确保此模型始终只有一个对象?为什么uld您想确保只有一个对象吗?目前,只使用第一个对象,不要添加第二个对象;将来,您可能需要更多的标题(i18n、为客户蒙皮、基于相同数据库的新站点、应用程序中的页面组……)这是一个很好的观点,我没有考虑。谢谢。这就是我现在所做的。我只是得到第一个对象,而不是创建任何新的对象。如果你把它作为一个答案,我很乐意接受它。谢谢,我已经知道了。我想要一些可以被用户编辑的东西。我用了一个模型来做这个。