您无法在GSP中定义方法.但如果你愿意,你可以拥有匿名功能:D
例:
<%
def prettify = { "***$it***" }
%>
<h1>${prettify(someText)}</h1>
Run Code Online (Sandbox Code Playgroud)
虽然这个例子没有太多意义,因为可以内联小格式.对于视图的任何额外逻辑,我会遵循OverZealous建议并使用taglib.
不,只是不要这样做.这完全违背了GSP的目的.GSP旨在处理可视标记信息,而不是编程逻辑.直接在GSP中抛出函数将导致无法维护的代码混乱.
你为什么不把它放在标签里?这是标签的用途; 它只在您的GSP中使用并不重要.GSP应该只包含简单的显示逻辑和输出内容.可重用代码应始终包含在taglib中或某种控制器或服务中,以用于复杂逻辑.
您没有提到您正在使用的框架,例如Gaelyk或Grails.(除非您出于某种原因在服务器上使用纯Groovy.)没有更实用的方法可以在没有更多信息的情况下推荐一个好的解决方案.
如果您<% %>在GSP 中使用JSP样式的标记(),那么您可能做错了.
如果您想要更好的答案,请提供有关编程环境的更多详细信息,目标是什么以及为什么(为什么您不想使用taglib).
| 归档时间: |
|
| 查看次数: |
3397 次 |
| 最近记录: |