假设我有一个带有链接的 gsp 文件正在使用标签“阅读更多”。此链接打开另一个 gsp 文件名“博客”,如果您查看 url 栏,您可以看到我当前的链接是“MyWebApp/post/博客/(当前 i 值)。那么如何从新的 blog.gsp 文件中获取(当前 i 值)实际上是一个整数?
问问题
1508 次
3 回答
1
class PostController {
def list() {
// this action calls the page that has the "Read more" link
def posts = Post.list()
[posts: posts]
}
def blog() {
// this action is triggered by the "Read more" link and
// renders your blog post where you want the current ID
def post = Post.get(params.id)
[post: post]
}
}
博客.gsp
<html>
....
${post.id}
....
</html>
于 2013-05-24T21:58:52.620 回答
0
更新
您可能可以执行以下操作
<g:link action="blog" controller="post" params="['id': '${i}']">
Read more
</g:link>
这取决于我通过 url 映射是什么,但我想它会是${params.i}
于 2013-05-24T21:47:38.303 回答
0
当您创建链接或提交表单时,您的信息将存储在params
地图中。您的控制器可以访问此地图,并且您可以执行任何您需要的操作,例如将数据传递到视图,或执行查询然后将结果传递给视图。
理解流控制器 > 视图 > 控制器 > 另一个视图的最简单方法是使用 grails 命令generate-all并检查域类的基本 crud。看看show
和是如何edit
工作的。
Gregg 的答案可能正是您想要的。如果它不起作用,则可能您传递的 id 无效。您可以在显示内容之前使用 来检查帖子是否存在<g:if>
,例如:
<g:if test="${post}">
id: ${post.id}
</g:if>
<g:else>
<p>This blog post don't exists.</p>
</g:else>
于 2013-05-24T23:58:10.840 回答