假设我有一个带链接的gsp文件正在使用标签“阅读更多。此链接打开另一个gsp文件名”blog“,如果你看一下url栏,你可以看到我当前的链接是”MyWebApp / post / blog /(当前i值)。那么如何从新的blog.gsp文件中得到(当前的i值)实际上是一个整数?
答案 0 :(得分: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]
}
}
blog.gsp
<html>
....
${post.id}
....
</html>
答案 1 :(得分:0)
<强>更新强>
您可以执行以下操作
<g:link action="blog" controller="post" params="['id': '${i}']">
Read more
</g:link>
这取决于 i 是通过url映射的,但我猜它会是 $ {params.i}
答案 2 :(得分:0)
创建链接或提交表单时,您的信息将存储在params
地图中。您可以通过控制器访问此映射,您可以执行任何操作,例如将数据传递到视图,或执行查询,然后将结果传递给视图。
了解流量控制器的最简单方法&gt;视图&gt;控制器&gt;另一种观点是使用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>