2017-04-01 73 views
0

我需要通过G传递两个参数:链接像下面如何通过以g PARAMS:链接

<g:link controller="ClaimDetails" action="downloadFile1" params="[basePath:${session.basePath}, projCode:${session.projCode}]"><g:message code="claimDetails.ling.notice" /></g:link>

,但它给了我像

属性值报价WASN的错误”吨闭合(控制器= “ClaimDetails” 行动= “downloadFile1” PARAMS = “[基本路径:$ {session.basePath},projCode:$ {session.projCode}]”)

当我给像BA PARAMS sePath:'$ {session.basePath}'

它仅给出文本。

我需要做什么?

+0

按以下麦克指出,真正的问题是在这里$ {} session.basePath当你'PARAMS =“[]”'无论是现在声明变量生在那里'PARAMS =“[基本路径:会话。这个函数应该和params =“$ {[basePath:session.basePath]}”一样工作,它声明'[]'就像你声明'def a = [a:something, b:b]在一个控制器中,这将是一张地图 – Vahid

回答

1

你不需要使用$ {} A G中:link标签这样:

<g:link controller="ClaimDetails" action="downloadFile1" params="[basePath: session.basePath, projCode: session.projCode]"> 
    <g:message code="claimDetails.ling.notice" /> 
</g:link> 

注意:你为什么要使用这些参数?因为您的操作中有会话对象可用。

def action(){ 
    String basePath = session.basePath 
    String projCode = session.projCode 
} 
1

尝试:

<g:link controller="ClaimDetails" action="downloadFile1" params="${[basePath: session.basePath, projCode: session.projCode]}"><g:message code="claimDetails.ling.notice" /></g:link>