【问题标题】:Smarty plugin-like functionality within Spring MVC possible?Spring MVC 中类似 Smarty 插件的功能可能吗?
【发布时间】:2013-05-20 20:12:08
【问题描述】:

我有一个软件设计问题。我正在 Spring MVC 应用程序中寻找类似 Smarty 插件的功能。让我试着解释一下这个案例。

我正在使用 Spring MVC 构建一个 webapp,我希望系统能够显示应用程序范围的“系统消息”,例如

<div class="sysmessage'>Your user profile is incomplete, please fix it</div>

<div class="sysmessage'>System down for maintenance next friday between 13:00 and 14:00</div>

我已经有一个服务方法,当用户需要被告知某些事情时,它会返回系统消息。解决这个问题的正常方法(我认为)是从每个 Controller 方法调用服务方法,并将任何系统消息添加到模型中,将其显示在主网格 JSP 中,瞧……应用程序范围的系统消息。

但这种方法似乎非常耗费人力。我需要将对服务方法的调用添加到每个控制器方法中,每次都将其添加到模型中,等等。

我的问题:Spring 中是否有某种类似于 Smarty 插件功能的“反向”设置? smarty 插件是一段由 PHP 代码支持的 HTML/模板代码。我的应用程序中也需要相同的内容。如果我可以在我的模板中放置一段由 Java 代码支持的 JSP 代码,那将会更快、更清晰。我知道自定义 JSP 标记基本上可以做到这一点,但我想知道 Spring 中是否有一些东西可以实现同样的效果。这似乎是一个常见的场景。我查看了 Spring Protlet MVC,但我不完全确定它是否符合我的需求。

【问题讨论】:

    标签: spring-mvc plugins smarty portlet


    【解决方案1】:

    几个选项:

    • 弹簧拦截器
    • 瓷砖视图准备器
    • ServletAPI 过滤器

    在所有情况下,您都需要向您的 jsp 添加一些代码以在您的页面中输出消息。 这最好在应该显示消息的所有页面使用的磁贴布局中完成。

    【讨论】:

    • Spring 拦截器似乎是一个很好的解决方法和学习方法,它符合我的需求,所以我会使用它。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多