grails - 在 View 之间传递记录

标签 grails

我有一张表,列出有关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/

相关文章:

hibernate - 将日志存储在mongo中而不是mysql( hibernate )

grails - java.lang.NoSuchMethodError:com.lowagie.text.pdf.BaseFont.getCharBBox(C)[I

java - chalice 3 : Unit Testing Interceptors: Doesn't halt in interceptor

validation - 获取失败约束的名称

grails - Grails @Transactional 与 Spring @Transactional 注释之间的差异

grails - 如何从 Grails 3 插件中排除类

hibernate - 通过Hibernate 4用于 Multi-Tenancy 的Grails的版本

forms - Grails 数据绑定(bind)隐藏表单字段

email - 在邮件中附加CSV

列表映射的 Grails 命令对象绑定(bind)失败