我正在编写一个MVC portlet框架,我计划在我的视图中使用Rythm。我想将各种参数传递给视图,并想知道是否有一种方法可以在运行时使用Java为视图声明这些参数?我知道我可以使用@args标记在视图中声明参数,并且可以从ASP.NET添加自定义标记,但我想做一些类似于Java如何将助手类(HtmlHelper @Html、UrlHelper @Url、Object @Model)传递给视图。
发布于 2016-09-21 23:13:21
如果计划传递给视图的所有参数都是全局的(即它们应用于所有呈现会话和所有模板),那么您应该将它们视为隐式变量,这意味着模板作者不需要声明它们,但它们可以自由使用。隐式变量的例子有会话、请求、上下文等。
有关如何声明隐式变量,可以参考:
有关如何使用隐式变量配置Rythm引擎,请参阅
关于如何为每个呈现会话将隐式变量注入rythm引擎,还可以参考:
对于像HtmlHelper这样的东西,我的建议是提供可重用的rythm模板作为标记,而不是Java。因为您需要呈现html片段,因此使用rythm是一种自然的方法,而不是让Java代码输出内容。
对于像UrlHelper这样的东西,如果它都是关于字符串操作的,您可以直接使用Java代码,但是公共静态方法可能比助手实例更合适。
https://stackoverflow.com/questions/39623607
复制相似问题