`

ofbiz中的FreeMarker中一些全局变量的区别

阅读更多

最近在做ofbiz相关开发,其中的web表现层是用bsh+freemarker实现的,碰到一个问题,是要在全站的范围内记录用户选择的某信息到一个Map里面去,一开始不知道session scope的变量和request scope的attribute已经parameter的区别,搞了挺长时间,后来慢慢摸索出了一点门道,总结如下,有对这部分精通的童鞋帮忙看看是不是有总结的不对的地方。

  • session

在servlet的session中设置的变量,是会跨越整个会话的,如果是需要在整个会话过程中都保留的参数,需要使用session变量,使用语法:

 

在bsh脚本中使用如下语法进行设置

 

session.setAttribute("Name", "tristan")

 

 使用如下语法进行读取

 

session.getAttribute("Name")

 

这种语法设置的session scope的变量,在ftl文件中可以使用下述语法进行读取

 

 

${Session.Name} 
  • request的attribute

request中的attribute,在程序里面可以这样进行设置:

 

request.setAttribute("Name","Tristan");

 

可以这样读取

 

request.getAttribute("Name")

 

在freemarker里面引用的语法为

 

 ${requestAttributes.Name}
  • request 中的 Parameter

Parameter是通过servlet的url-pattern中的?Name=value的形式传递进入程序的,在bsh文件中通过

 

 

request.getParameter("Name");

 

取得。使用如下语法进行设置

 

request.setAttribute("Name", "Tristan");

 

在ftl文件中可以通过

 

${RequestParameters['test']}

 

或者

 

${RequestParameters.test}

 

的方式取得。

  • context

context上下文中的变量,在程序中进行设置的语法为

 

context.put("Name", "Tristan");

 

然后可以直接在对应的ftl文件中中通过如下的方法使用,这个context中的变量是只对这一组解析前运行了相应bsh脚本的ftl文件有效的。

 

${Name} 
分享到:
评论
4 楼 litchi 2009-03-31  
呵呵我们公司一个月之前刚刚开始基于ofbiz进行开发,这是第一个项目,大家共同进步吧
3 楼 topinking 2009-03-31  
litchi 写道
原来是基于ofbiz的4.0 稳定版本来做的,后来改成了基于opentaps来做,版本是1.0.3,主要原因是觉得opentaps的trunk已经开始支持GWT,而ofbiz对用户UI一直是很不重视,导致要开发产品,界面上需要做的修改特别多。


给你推荐个网站吧,是我们公司做的 http://www.openbizs.org/,主要是交流ofbiz的开发、使用等等



谢谢,不过感觉好像没有什么东西,尤其是没有有深度的东西。
比如说他的service engine、entity engine的实现,如何做分布式,如何优化等等都没有把。。。
http://ofbiz.3ren.com/上也有不少东西。。
2 楼 litchi 2009-03-27  
原来是基于ofbiz的4.0 稳定版本来做的,后来改成了基于opentaps来做,版本是1.0.3,主要原因是觉得opentaps的trunk已经开始支持GWT,而ofbiz对用户UI一直是很不重视,导致要开发产品,界面上需要做的修改特别多。


给你推荐个网站吧,是我们公司做的 http://www.openbizs.org/,主要是交流ofbiz的开发、使用等等
1 楼 topinking 2009-03-27  
请问您使用的ofbiz是什么版本的。
我现在一个项目也在使用ofbiz,大家可以交流一下

相关推荐

    ofbiz中文技术文档

    1. **高级特性**:如APS、采购管理和项目管理的实现与配置,以及如何集成到Ofbiz的现有框架中。 2. **报表与分析**:Opentaps的商务智能功能,包括如何创建自定义报表和数据分析工具。 3. **定制化开发**:针对...

    ofbiz中文文档.doc

    - **视图(View)**:OFBiz支持多种视图技术,如JSP、FreeMarker、JPublish和Beanshell,用于生成动态网页内容。 此外,OFBiz使用Servlet API 2.3中的过滤器(Filter)机制,进一步增强控制器的功能。过滤器在请求...

    ofbiz框架(文档)全

    在OFBiz中,视图可以是传统的JSP页面,也可以使用FreeMarker、JPublish、Beanshell等模板技术来实现。视图不直接与模型交互,而是通过控制器获取和更新数据。 3. **控制器(Controller)**:控制器作为模型和视图...

    ofbiz权限(全)

    在Freemarker模板中,可以通过session变量`security`提供的方法来检查权限,如`hasPermission`, `hasEntityPermission`, `hasRolePermission`等。 ##### 6、service定义级别 可以定义专门的“Permission service”...

    ofbiz电商框架hello与皮肤定制实例

    在本文中,我们将深入探讨基于Apache OFBiz的电商框架中的"Hello"实例和皮肤定制。Apache OFBiz是一个全面的企业级开源电子商务解决方案,它提供了一系列工具和服务,帮助开发者构建复杂的在线业务系统。在这个实例...

    ofbiz资料大全

    资源是用来分享的,不是用来收藏的.里面是下载地址,如果逆向开发ofbiz,只要下载它就绝对没错了 ...freemarker中文手册.rar ofbiz10.04表结构.rar OFBiz开发指南.rar Java开发必备装备包 IBM技术专区 OFBiz官网

    ofbiz电商框架hello主题文件定制

    然后,在OFBiz的配置文件中,如`general.properties`,指定当前使用的主题为"hello",这样系统就会加载我们定制的主题资源。 总的来说,"ofbiz电商框架hello主题文件定制"是一个涵盖HTML5、CSS、JavaScript、...

    freemarker中文手册

    在“OFBiz开发者装备系列:0004”中,我们可能深入探讨了如何利用Freemarker在OFBiz项目中高效开发。OFBiz是一个全面的企业级应用平台,它包含了供应链管理、客户关系管理、电子商务等多种功能模块。使用Freemarker...

    ofbiz开发入门总结

    《Ofbiz开发入门总结》 Ofbiz,全称Open For Business Project,是一个开源的企业级应用框架,主要用于构建复杂的电子商务和...通过一步步实践,相信你很快就能让Ofbiz跑起来,并在这个过程中不断深化对Ofbiz的理解。

    OFBIZ快速入门OFBIZ快速入门

    要深入理解和开发OFBiz,你需要了解其组件模型、服务定义、XML配置文件的用途(如`build.xml`、`component.xml`)、JSP和Freemarker模板语言的使用,以及如何调试和部署自定义组件。 总之,OFBiz作为一个强大的开源...

    Apache.OFBiz.Development

    4. OFBiz工作环境设置:需要配置OFBiz的工作环境,并设置在Eclipse这样的集成开发环境(IDE)中的项目。 5. 使用Derby数据库:Derby是一个小型的开源数据库,是OFBiz的默认数据库。涉及如何安装、备份和恢复数据...

    Ofbiz框架中的事务解析.pdf

    因为Ofbiz使用了JTA,即使涉及多个资源,也能确保它们在一个全局事务中协同工作。 3. 当在一个`TransactionUtil.begin()`事务中,同时更新一个数据连接的表并调用另一个数据连接的存储过程,Ofbiz的事务管理应该...

    ofbiz学习笔记(自学整理)

    在学习Ofbiz的过程中,你可能会遇到的问题可能包括:理解和配置Ofbiz的复杂组件结构,编写和调试服务,以及处理与数据库交互时的实体问题。解决这些问题通常需要查阅Ofbiz的官方文档、社区论坛或在线教程。 最后,...

    ofbiz-cn.github.io:ofbiz 中文文档

    同时结合了 ofbiz 在开发过程中所参 考的一些资料,比如《数据模型资源手册(卷1)》,《JAVA 核心模式》等对 ofbiz 的主要的设计思想 进行分析。文档的目的是为 ofbiz 的开发者和运维人员提供一个良好的参考资源。 ...

    OFBIZ综合文档

    在OFBIZ中,视图可以通过JSP、FreeMarker、JPublish、Beanshell等技术实现,为用户提供可视化界面。 - 控制器(Controller):作为模型和视图的桥梁,接收用户的输入,转发到模型执行相应操作,同时根据模型的变更...

    OFBIZ开发指南 英文2

    此外,书中可能还会介绍OFBIZ的Web界面开发,包括使用Freemarker模板语言创建动态页面,以及如何使用AJAX技术增强用户体验。对于扩展OFBIZ,你将学习到如何创建新的模块,编写定制的服务,以及如何部署和调试你的...

    ofbiz一个完整例子

    本示例将带你逐步了解如何在OFBiz中创建一个完整的应用实例,从实体创建到服务定义,再到界面展现。 1. 创建实体 在OFBiz中,实体是数据模型的核心,它们对应于数据库中的表。在`Hot-deploy/myfirstdemo/entitydef/...

    Ofbiz 数据库全模型

    在Ofbiz中,数据库模型扮演着至关重要的角色,它是系统数据结构的基础,定义了所有业务实体及其相互关系。 数据库模型是Ofbiz的核心组成部分,它描述了系统中的各种实体(如产品、订单、客户等)以及它们之间的关系...

Global site tag (gtag.js) - Google Analytics