你好(对不起我的英语不好),
我有一个看起来很简单的问题:我想使用 remoteLink 设置一个 cookie 并使用 cookie 值作为响应。它效率不高,因为我必须在链接上单击两次才能获得正确的行为。我怀疑这是因为 cookie 值是在模板调用之后发送的。
这是我的 gsp :
${agence.delegation}
<small>
<g:if test="${cookie(name:'delegationId') == agence.id.toString()}">
<g:remoteLink controller="docDelegationSite"
action="deleteDefaultAgency"
update="defautAgencyId"
params="${[delegationId: agence.id]}">
Changer d'agence par défaut
</g:remoteLink>
</g:if>
<g:else>
<g:remoteLink controller="docDelegationSite"
action="defineDefaultAgency"
update="defautAgencyId"
params="${[delegationId: agence.id]}">
Définir comme agence par défaut.
</g:remoteLink>
</g:else>
</small>
这是我的控制器:
def defineDefaultAgency() {
def agence = DocDelegationSite.read(params.delegationId)
cookieService.setCookie(response, 'delegationId', params.delegationId)
render template: '/docDelegationSite/delegationCookie',
model: [agence: agence]
}
def deleteDefaultAgency() {
def agence = DocDelegationSite.read(params.delegationId)
cookieService.setCookie(response, 'delegationId', null)
render template: '/docDelegationSite/delegationCookie',
model: [agence: agence]
}
那么,如何确保 cookie 的值在模板调用之前发送?