Spring MVC中的Smarty插件式功能可能吗?

时间:2013-05-20 20:12:09

标签: spring-mvc plugins smarty portlet

我有一个软件设计问题。我在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和voila ...应用程序范围的系统消息中。

但这种做法似乎是劳动密集型的。我需要将调用服务方法添加到每个控制器方法,每次都将它添加到模型中等。

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

1 个答案:

答案 0 :(得分:0)

有几个选择:

  • 弹簧拦截器
  • Tiles view preparer
  • ServletAPI过滤器

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