用params创建一个url,并在其他gsp页面grails中使用它们groovy

时间:2012-07-07 17:58:49

标签: grails

我想动态地创建一个带有一些参数的链接到一个页面,其中将使用这些值:

<td><a href="${createLink(controller:'display', action="viewer", params: ['file' : '${stream.file}', 'media' : '${stream.media}'])}">${fieldValue(bean: streamInstance, field: "media")}</a></td>

在我的viewer.gsp我希望在显示视频流的链接中使用这些值:

<source src="path/to/my/videodir/${media}" type='video/mp4'></source>

但到目前为止我还没有取得多大成功:-(。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:5)

我看到一些地方应该有分号而不是等号,单引号而不是双引号

${createLink(controller:'display', action:'viewer', params:'[file : "${stream.file}", media : "${stream.media}']")}

我唯一的另一个想法是,如果stream.file变量没有显示它们的值,那么尝试转义双引号/“如果这不起作用,那么尝试删除stream.file和stream周围的$ {} .media因为它们已经在EL块中了

答案 1 :(得分:1)

这对我有用......

<g:set var="myarray" value="[file: stream.file, media: stream.media]" />
<a href="${createLink(controller:'display', action:'viewer', params:myarray)}">
  ${fieldValue(bean: streamInstance, field: "media")}
</a>