gpt4 book ai didi

grails - 访问不同 Controller View 中的一个实例以及它自己在 Grails 中的实例?

转载 作者:行者123 更新时间:2023-12-02 15:33:00 24 4
gpt4 key购买 nike

访问不同 Controller View 中的一个实例以及它自己在 Grails 中的实例?
我的场景:

Status controller with _list.gsp template that lists all the statuses. User Instance has politic profile and education profile. I want to render _list.gsp on to political's list.gsp or education's show.gsp My status's _list.gsp looks like this:


<g:each in="${statusInstanceList}" status="i" var="statusInstance">
<td>${fieldValue(bean: statusInstance, field: "statusMessage")}</td>

and I want to render the _list.gsp template on politic profile like this


<g:each in="${politicItemList.sort{it.dateCreated}}" status="i" var="politicItemInstance">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td>${fieldValue(bean: politicItemInstance, field: "politicItemName.name")}
<g:render template="/status/list"/>

rest is working fine but its not loading up the values I am not sure how to make a class or instance available globally or across all areas on the application.

最佳答案

很明显你可以看到,模板_list.gsp 使用 statusInstanceList应该从与呈现模板的操作相关的模型中获取。在这种情况下,来自 Status 的操作 Controller 。

您正在尝试在政治配置文件中呈现此模板。为了渲染_list.gsp模板你必须用 statusInstanceList 提供模板.对?你怎么能这样做?

在渲染模板之前,您必须执行 remoteFunction调用状态 Controller 以获取状态列表或将状态列表添加到政治配置文件模型并将其传递给 _list 模板。

以编程方式,例如:

Status Controller:-

def statusAction(){
render(template: "list", model: [statusInstanceList: statusInstanceList])
}

Profile controller:=

def profileAction(){
//Get the statusInstanceList here to set in the model somethinglike
def actionResponse = g.include(action: 'statusAction', controller: 'status')
def statusInstanceList = actionResponse.statusInstanceList
render(template: "profilelist", model: [politicItemList: politicItemList, statusInstanceList: statusInstanceList])
}

You can do something like:

_profileList.gsp

<g:each in="${politicItemList.sort{it.dateCreated}}" status="i" var="politicItemInstance">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td>${fieldValue(bean: politicItemInstance, field: "politicItemName.name")}
<g:render template="/status/list" model="[statusInstanceList: statusInstanceList]"/>

如果不想在 Profile Controller 中获取 Status Action 的响应,则可以添加 g:include在 profileList 模板中
<g:include controller="status" action="statusAction" />
这将包括状态操作对 profileList 模板的响应。见 详情。

关于grails - 访问不同 Controller View 中的一个实例以及它自己在 Grails 中的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com