Grails 从 View 调用 Controller 方法

标签 grails loops methods view controller

我有一个关于 grails 的快速问题。我有一个 View 页面,它遍历对象数组以显示它们。 HTML/Grails 标记代码如下所示:

<g:each in="${ICFList}" status="i" var="icf">
<tr>
    <td>${icf.printName?.encodeAsHTML()}</td>
    <td>${icf.activeNote?.encodeAsHTML()}</td>
</tr>
</g:each>

此代码有效并显示我需要的内容。但是,我不想再在我的 icf 对象中存储 printName 变量。该对象还包含一个字符代码来识别它,我有一个方法可以根据代码查找 printName 值。基本上,我的问题是:

有没有办法做这样的事情
<td>${icf.getNameFromCode(${icf.code})}</td>

无需将名称存储在任何地方?
getNameFromCode 方法是在此特定 View 的 Controller 对象中定义的,但我不知道如何从 gsp 访问它。任何帮助是极大的赞赏。

最佳答案

正式回答问题,可以使用g:include :

<g:include controller="book" action="list" />

尽管单个实体的字段感觉更像一个模型。

关于Grails 从 View 调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346975/

相关文章:

Grails 2.0 重定向包括应用程序上下文,即使我将其设置为 "/"

hibernate - Tomcat/Grails 内存泄漏

java - 将数组数据输入到与另一个类中的另一个方法不同的类中的方法中

c# - 类数组

java - 安全地获取 java.lang.reflect.Method

php - 带有Quercus PHP的Grails 3

json - 如何使用 Grails 1.2 动态呈现复杂的 JSON?

python - Pandas 在子循环中将新列添加回主数据框

javascript - 删除所选之前数组中的所有元素

php - 从第二个 MySQL 表获取信息