GSP 学习笔记
--netdevgirl
接触到了groovy开发,自然就接触到了gsp。在grails开发中,gsp作为Grails的视图技术,事实上, 不过是标准 HTML 加上一些提供动态内容的 Grails 标记而已。
gsp--Groovy Servers Pages ,它被设计成像ASP和JSP这样被使用者熟悉的技术,但更加灵活和直观。
GSP存在于Grails的grails-app/views
目录中,他们通常会自动渲染(通过规约),或者像这样通过render方法:
render(view:"index")
一个GSP是典型的混合标签和GSP指令来帮助视图渲染。 一个GPS通常拥有一个"model",它是变量集被用于视图渲染。通过一个控制器model被传递到GSP视图。
GSP支持使用 <% %>
来嵌入Groovy代码(这是不推荐的): 同样,你可以使用<%= %>
语法来输出值:GSP同样支持服务器端JSP样式注释。在GSP中存在着一些预先定义的变量,包括:
application
- javax.servlet.ServletContext实例applicationContext
Spring ApplicationContext实例flash
- flash 对象grailsApplication
- GrailsApplication 实例out
- 响应输出流params
-params对象用于检索请求参数request
- HttpServletRequest实例response
- HttpServletResponse实例session
- HttpSession实例webRequest
- GrailsWebRequest实例
GSP的表达式跟JSP EL表达式很相似的,跟Groovy GString的${expr}
用法也很像,跟JSP EL不同的是,你可以在${..}
括号中使用Groovy表达式。${..}
中的变量缺省情况下是不被转义的,因此变量的任何HTML字符串内容被直接输出到页面,要减少这种Cross-site-scripting (XSS)攻击的风险,你可以设置grails-app/conf/Config.groovy
中的 grails.views.default.codec
为HTML转化方式。
- grails.views.default.codec='html'
GSP标签-----------------------------------------------------