1

你好(对不起我的英语不好),

我有一个看起来很简单的问题:我想使用 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 的值在模板调用之前发送?

4

1 回答 1

0

cookie 可从下一个 http 请求中获得。我认为您还不清楚 cookie 的行为。看看http cookie

于 2012-07-24T08:00:30.430 回答