使用Request里的Attribute值最简单的方法就是直接${AttributeName}或者安全一点:${AttributeName!"default Value"}
1.取Application范围的对象
xml 代码
1. <#if Application.myApplicationAttribute?exists>
2. ${Application.myApplicationAttribute}
3. </#if>
或者 : ${Application.myApplicationAttribute!"default value"}
2.取session范围的对象
xml 代码
1. <#if Session.mySessionAttribute?exists>
2. ${Session.mySessionAttribute}
3. </#if>
或者 : ${Session.mySessionAttribute!"default value"}
3.取request范围的对象
xml 代码
1. <#if Request.myRequestAttribute?exists>
2. ${Request.myRequestAttribute}
3. </#if>
或者 : ${Request.myRequestAttribute!"default value"}
4.取request parameter范围的对象
xml 代码
1. <#if Parameters.myParameter?exists>
2. ${Parameters.myParameter}
3. </#if>
或者 : ${Parameters.myParameter!"default value"}
5.取context parameter范围的对象
xml 代码
1. ${stack.findValue('#myContextParam')}
request 对象直接对应 HttpServletResponse
例如 获取 当前网页地址: ${request.requestURL}
客户端IP地址: ${request.getRemoteAddr()} 或者 ${request.remoteAddr}
提交方式: ${request.method}
等等
Request: 用于获取Request对象中的attribute对象。
例如:${Request["myRequestAttribute"]} 这样是直接在页面输出属性值。相当于request.getAtrribute("myRequestAttribute");
如果要对这个值进行判断就必须使用如下格式:<#if Request["myRequestAttribute"]="edit">
或者 : ${Request["myRequestAttribute"]!"default value"}
Session:用于获取Session 对象中的attribute对象。
用法参照Request的用法。
Application:用于获取 Application(ServletContext)对象中的attribute对象。
用法参照Request的用法。
RequestParameters:用 于获取Request对象的parameter参数(浏览器端发送的请求数据)
例如:${RequestParameters["myRequestAttribute"]}等同于 request.getParameter("myRequestAttribute");
Parameters:属性获取,依次从 RequestParameters、Request、Session、Application对象中获取对应属性/参数,一旦获取,则不再向下查找。
例如:${Parameters["myRequestAttribute"]}
- FreeMarker 获取页面request、session${Request["a"]}
- ${RequestParameters["a"]}
- ${Session ["a"]}
- ${Application ["a"]}
- ${JspTaglibs ["a"]}
- 注意RequestParameters等内部对象时常不能获得所以要:
- ${RequestParameters?default({})["_errors"]?default("params")}
- ${Request["request"]?default("request")}
- ${Session["session"]?default("session")}
- ${Application["ctx"]?default("ctx")}
- ${RequestParameters?default({})?keys?size}
- ${Request?keys?first}
- Freemarker可以直接取pageContext,requestAttribute,session,application中的数据,就是不能取requestParameter;
相关推荐
本篇文章将深入探讨如何在Freemarker中获取数据。 一、Freemarker基础 1. 模板语言:Freemarker使用一种简单的文本模板语言,它不包含任何编程语句,只有控制结构(如`if`、`for`)和变量引用。变量通常以`${}`或`...
Freemarker分页是Web开发中的一个重要概念,它主要用于在大量数据展示时,将结果集分割成多个小块,每次只加载一部分数据,提高页面加载速度并提升用户体验。在这个例子中,我们看到的是如何在使用Struts2框架的基础...
通过上述知识点的集成,我们可以创建一个用户友好的Web应用,其中页面布局可以通过可视化工具预览和编辑,而动态数据则由FreeMarker模板和Spring MVC框架提供。这种方式既保证了前端设计的灵活性,又确保了后端数据...
如果登录成功,将用户信息存入session,并跳转到登录成功页面。 在登录成功页面的实现中,我们利用Freemarker的特性来实现静态化。首先,创建一个名为`loginSuccess.ftl`的Freemarker模板,其中包含登录成功后要...
创建静态页面工具类,需要Freemarker的支持
对于最新版的FreeMarker,建议查阅官方的最新文档以获取最准确的信息。 总的来说,FreeMarker是一个强大且灵活的模板引擎,通过它,开发者可以将关注点分离到视图和逻辑上,使得代码更易于维护和扩展。学习并掌握...
将Struts2与Freemarker结合使用,可以实现视图层的高效渲染,提供更灵活的页面设计。 在Struts2中整合Freemarker,主要涉及以下几个关键知识点: 1. **Freemarker模板语言**:Freemarker使用模板语言,由`<#...>`...
在实际应用中,我们可以根据配置获取到Freemarker的`Template`对象,然后处理模型数据并生成字符串,例如: ```java // 使用FreeMarkerConfigurer Template t = freeMarkerConfigurer.getConfiguration()....
在FreeMarker中,内置函数提供了一套便捷的工具,帮助我们在模板中执行各种操作,例如字符串处理、日期时间格式化等。 1. **字符串操作函数** - `join`: 将数组或列表中的元素连接成一个字符串,通常用于生成CSV...
13. **内置函数**: 包括`length()`(获取列表或字符串长度)、`default()`(提供默认值)、`index_of()`(查找子串位置)等。 14. **数据模型**: Freemarker的数据模型由Java对象构成,模板中的变量来自于这些对象...
总的来说,这个项目结合了多种技术,利用Struts2处理请求,Spring进行依赖管理和事务控制,Hibernate处理数据,Freemarker生成动态页面,jQuery提供前端交互,而jquery-treeview则提供了树形菜单的可视化。...
本篇文章将详细讲解如何利用FreeMarker来生成静态页面。 首先,我们需要理解FreeMarker的基本工作原理。在FreeMarker模板文件中,我们可以编写HTML结构,同时嵌入特定的FreeMarker语法,如`<#if>`、`<#foreach>`等...
### FreeMarker页面制作规范 #### 页面规范的重要性 在软件开发过程中,页面规范的制定与遵循极为关键。良好的页面规范能够确保项目的可控性、统一系统的视觉风格,并有助于整体风格的快速调整,进而提升开发效率...
使用Freemarker模版生成不同的静态文件,该工具类使用简单,方法说明:包含所需的参数,可以进行二次封装
**Spring 整合 Freemarker 制作 HTML 页面简单 Demo** 在 Web 开发中,Spring 框架与 Freemarker 模板引擎的整合是常见的技术组合,尤其对于初学者而言,掌握这一技能能够帮助快速构建动态网页。本教程将通过一个...
它的核心理念是分离内容和表现,使得开发人员能够专注于业务逻辑,而设计师可以专注于页面布局。`Freemarker`模板文件通常以`.ftl`为扩展名,它们包含可替换的占位符,这些占位符在运行时会被实际的数据值替换。 ...
例如,你可以创建一个自定义标签用于处理分页数据,接受页码和每页数量作为参数,然后在后台查询数据库并返回相应的页面内容。 此外,FreeMarker还支持自定义函数,它们类似于JavaScript中的函数,可以接收参数并...
此外,`<@shiro.principal>`可以获取当前登录用户的主体信息,这在构建个性化界面时非常有用。 3. **匿名访问与登录需求**:Shiro标签还提供了检查用户是否已登录的功能,例如`<@shiro.anonymous>`表示匿名用户可以...
理解和熟练使用它的API,能够帮助我们更好地利用模板引擎,实现高效、灵活的页面渲染。在实际开发中,结合Freemarker提供的文档,可以解决各种复杂场景下的问题,提升项目的开发效率和用户体验。