我有一张表,列出有关People
的信息。当用户单击记录时,我想导航到另一个 View 屏幕并显示有关所选记录的详细信息。
代码如下:
<td><g:link controller="People" action="showListPeople" id="${peopleInstance.id}">${fieldValue(bean: peopleInstance, field: "personName")}</g:link></td>
1.)当我单击上面的
hyperlink
时,页面导航到新 View 。但是,如何显示用户在新 View 中选择的行的详细信息?2.)我想防止用户通过键入或任何其他方式直接访问 View
localhost:9900/proj/person/showListPeople
,仅当用户从“列表” View 中选择一条记录时,它才应始终出现。我怎样才能做到这一点?
最佳答案
使用参数。像下面这样
<g:link controller="People" action="showListPeople" id="${peopleInstance.id}" params="[foo: 'bar', bar: 'foo']"> My Link </g:link>
对于第二个问题,我认为没有Grails的方法可以做到这一点。您需要为此执行一些 token 策略。.在链接创建时传递 token ,并在用户来自该链接时检查 token ...如果他来自其他方式,则 token 将不存在....您可以将 token 保存在内存中(在 session 中)或在数据库中(这会降低性能)。
关于grails - 在 View 之间传递记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22678669/