person.properties = params是做什么的?Grails Acegi Plugin - PersonController.groovy - 请解释!
0
A
回答
2
嗯,简短的回答是,它将PARAMS地图中的任何键与person对象的属性相匹配,并将PARAMS地图中的值赋予匹配的属性。
示例:假设params.id = 156,并且person有一个名为id的成员属性。这个电话后,person.id将等于156
一些注意事项:
- 如果有PARAMS关键在于 不匹配的人, 没关系性质,它只是不会做什么 与那些。
- 如果有属性没有在params中有键吗?还有 好的,它也会跳过这些。
- 这也是非常相似,通过“新 人(PARAMS)”创建一个新的人物或致电 “bindData(人,则params)”。
0
它使用提供的请求参数更新person
对象上的属性值。这称为数据绑定,并记录在here。
1
在幕后全面的文档,一个Groovy/Grails的对象的属性是一个地图域类属性。 params对象也是请求参数的映射 - 基本上是HttpServletRequest对象的CGI参数。因此,分配将使用params地图中的值更新属性地图,只在匹配的地方。
如果你是直servlet来做到这一点& JSP的你就基本上可以写:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Person person = new Person();
person.firstName = request.getParameter('firstname');
person.lastName = request.getParameter('lastname');
person.password = request.getParameter('password');
...
}
Grails中,你会本质上只是写在PersonController.groovy:
def save = {
def person = new Person()
person.properties = params
...
}
所以使用Grails,您不必过多担心参数名称是什么,因为您应该使用grails标签输出它们,然后使用params映射将其返回到对象中。这可以减少错误参数名称时遇到的愚蠢错误。
您还可以将更多属性添加到Person域对象,而不必编写更多的getter/setter类型语句。
相关问题
- 1. 在验证时使用Grails Acegi-Plugin并需要附加检查
- 2. 需要有关的Grails和Acegi的
- 3. Grails Acegi插件 - 如何更新缓存?
- 4. Grails Mail Plugin Office365
- 5. Grails 3 Spring Security Plugin
- 6. 请解释AsParallel()
- 7. 请解释差
- 8. __IPHONE_OS_VERSION_MIN_REQUIRED请解释
- 9. 请解释
- 10. 请解释
- 11. BuildConfig.groovy和grails-gradle-plugin
- 12. grails acegi迁移到spring-security-core
- 13. 的Grails Acegi的插件用户推荐
- 14. Acegi,Grails,JBoss,SSL来回http <> https
- 15. grails acegi安全约束绕过前进
- 16. Grails/Acegi禁用用户问题
- 17. 请求的解释
- 18. 请解释Zeromq eventloop
- 19. 请解释输出
- 20. 语法解释请
- 21. 请解释输出
- 22. 请解释与PARTITION
- 23. 在grails之外使用grails安全模型(acegi)
- 24. 未添加到Maven的Grails acegi插件类
- 25. 在Grails中使用Google和Yahoo OpenID服务ACEGI
- 26. Grails - Acegi:自定义身份验证方法
- 27. Grails 2.0,Atmosphere-Plugin和WebSockets
- 28. Grails 3:gradle-clover-plugin集成
- 29. 幻影grails portlets-plugin v0.8?
- 30. Grails,从Acegi升级到Spring安全插件
这不应该是一个社区维基。 – 2009-05-26 21:07:16