1.假设你用以下地址访问系统:
http://www.abc.com/html/aboutLaw?name=cat&age=20
很明显是渲染了aboutLaw.ftl这个页面。如果要在aboutLaw.ftl中直接使用传来的参数name和age,要怎么用呢?
很简单,用以下变量:
<#list RequestParameters?keys as x> ${x}<br/> ${RequestParameters[x]}<br/> ---------------------<br/> </#list>
其实就是用到了RequestParameters。在上例中,可以用${RequestParameters['name']}直接得到传过来的参数值。
2.还有一个变量:Request
<#list Request?keys as x> key:${x}<br/> value:${Request[x]}<br/> --------------------- <br/> </#list>
我的controller如下:
package controller import java.util.HashSet; import net.sf.json.JSONArray import javax.servlet.RequestDispatcher import java.lang.Thread import model.* import javax.servlet.ServletResponse import org.springframework.web.servlet.ModelAndView class HtmlController extends BaseController { def gotoHtml={ render(view:"${params.page}") } def aboutLaw={ } def aboutYuanli={ } def aboutFee={ } def aboutUs={ } def help={ } }
访问地址为:
http://www.abc.com/html/aboutLaw
打印出的信息如下:
key:javax.servlet.forward.request_uri value:/html/aboutLaw --------------------- key:javax.servlet.forward.context_path value: --------------------- key:javax.servlet.forward.servlet_path value:/html/aboutLaw --------------------- key:aboutFee value:controller.HtmlController$_closure4@3b889b --------------------- key:manager value:manager.Manager@793ec9 --------------------- key:org.springframework.web.servlet.DispatcherServlet.THEME_SOURCE value:org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1f39cb2: startup date [Tue Nov 08 09:21:17 CST 2011]; parent: Root WebApplicationContext --------------------- key:org.springframework.web.servlet.DispatcherServlet.THEME_RESOLVER value:org.springframework.web.servlet.theme.FixedThemeResolver@5e67f1 --------------------- key:springMacroRequestContext value:org.springframework.web.servlet.support.RequestContext@857f69 --------------------- key:metaClass value:groovy.lang.ExpandoMetaClass@359912[class controller.HtmlController] --------------------- key:aboutUs value:controller.HtmlController$_closure5@6ffb14 --------------------- key:help value:controller.HtmlController$_closure6@1cd022c --------------------- key:org.codehaus.groovy.grails.GRAILS_APPLICATION_ATTRIBUTES value:org.codehaus.groovy.grails.web.servlet.DefaultGrailsApplicationAttributes@49c8dd --------------------- key:urlMapping.FILTERED value: --------------------- key:charEncodingFilter.FILTERED value: --------------------- key:ctx value:org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1f39cb2: startup date [Tue Nov 08 09:21:17 CST 2011]; parent: Root WebApplicationContext --------------------- key:org.codehaus.groovy.grails.CONTROLLER_NAME_ATTRIBUTE value:html --------------------- key:grailsApp value:org.codehaus.groovy.grails.commons.DefaultGrailsApplication@11aed03 --------------------- key:org.codehaus.groovy.grails.CONTROLLER value:controller.HtmlController@22537a --------------------- key:hiddenHttpMethod.FILTERED value: --------------------- key:grailsWebRequest.FILTERED value: --------------------- key:org.springframework.web.servlet.DispatcherServlet.CONTEXT value:org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1f39cb2: startup date [Tue Nov 08 09:21:17 CST 2011]; parent: Root WebApplicationContext --------------------- key:aboutLaw value:controller.HtmlController$_closure2@1968017 --------------------- key:aboutYuanli value:controller.HtmlController$_closure3@1b3a564 --------------------- key:class value:class controller.HtmlController --------------------- key:org.codehaus.grails.INCLUDED_JS_LIBRARIES value: --------------------- key:gotoHtml value:controller.HtmlController$_closure1@12f7431 --------------------- key:getPage value:controller.BaseController$_closure1@753f9f --------------------- key:org.codehaus.groovy.grails.ACTION_NAME_ATTRIBUTE value:aboutLaw --------------------- key:org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.GSP_SITEMESH_PAGE value:org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPage@1a41860 --------------------- key:reloadFilter.FILTERED value: --------------------- key:com.opensymphony.sitemesh.APPLIED_ONCE value: --------------------- key:sysParaService value:service.SysParaService@6231ed --------------------- key:day value:86400 --------------------- key:org.codehaus.groovy.grails.WEB_REQUEST value:ServletWebRequest: uri=/grails/html/aboutLaw.dispatch;client=127.0.0.1;session=D0849CBBEA6B59B4B7A0653BBF363064 --------------------- key:org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER value:org.springframework.web.servlet.i18n.SessionLocaleResolver@44899b
其中的javax.servlet.forward.request_uri很有用。
在freemarker中取得当前url ,就可以用以下语句
${Request['javax.servlet.forward.request_uri']}
相关推荐
freemarker替换变量实例
freemarker是一个比较好用的java模板引擎,grails也对它有很好的支持,该资源大有用处。
3. 通用数据模型:FreeMarker不直接反射到Java对象,而是通过插件式对象封装,以变量方式在模板中显示。 4. 为Web准备:内建处理典型Web相关任务,能够集成到Model2 Web应用框架中作为JSP的替代,支持JSP标记库。 5....
FreeMarker中文文档.pdf FreeMarker入门必修
FreeMarker_2.3.23官方中文文档,比较详细的说明了freemarker的特性,很实用。
freemarker官方中文帮助文档
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
在Freemarker中,存在五种基本概念:Scalars、Hashes、Sequences、Collection Variables和Methods。 1. Scalars:Scalars是最基本的数据类型,用于存储单值字符串、数字、日期和布尔值。字符串可以由单引号或双引号...
Freemarker 中遍历 List 集合实例是指在 Freemarker 应用中遍历 List 集合获取需要的数据,并对需要的数据进行排序加工后呈现给用户。以下是 Freemarker 中遍历 List 集合实例的详细介绍: 一、 Freemarker 中 list...
FreeMarker_2.3.23 中文。内含 2.3.19 pdf格式。
Freemarker 实例,Freemarker 实例Freemarker 实例,Freemarker 实例
包括freemarker源码、freemarker中文API、freemarker myeclipse编辑器及编辑器安装提示
freemarker中文文档与包
freemarker2.3.18_中文官方文档,现在的网站已经不提供了,欢迎下载
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Freemarker 中英文帮助文档,格式为CHM格式 打包在压缩文件中。如果CHM无法查看,请右键-->属性,下方点击解除锁定
freemarker中文手册是一本不错的全面介绍freemarker的书籍,适合freemarker初学者
解决办法一 解决办法二 通过模板生成文件乱码解决方法
FreeMarker+中文手册,学习备用!!!!!!!!!!!
在freemarker里被称作namespace --> compress 语法 Freemarker代码 <#compress> ... </#compress> ... 用来压缩空白空间和空白的行 escape, noescape 语法 Freemarker代码 ...