浏览 4815 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-25
最后修改:2009-03-26
最近在做ofbiz相关开发,其中的web表现层是用bsh+freemarker实现的,碰到一个问题,是要在全站的范围内记录用户选择的某信息到一个Map里面去,一开始不知道session scope的变量和request scope的attribute已经parameter的区别,搞了挺长时间,后来慢慢摸索出了一点门道,总结如下,有对这部分精通的童鞋帮忙看看是不是有总结的不对的地方。
在servlet的session中设置的变量,是会跨越整个会话的,如果是需要在整个会话过程中都保留的参数,需要使用session变量,使用语法:
在bsh脚本中使用如下语法进行设置
session.setAttribute("Name", "tristan")
使用如下语法进行读取
session.getAttribute("Name")
这种语法设置的session scope的变量,在ftl文件中可以使用下述语法进行读取
${Session.Name}
request中的attribute,在程序里面可以这样进行设置:
request.setAttribute("Name","Tristan");
可以这样读取
request.getAttribute("Name")
在freemarker里面引用的语法为
${requestAttributes.Name}
Parameter是通过servlet的url-pattern中的?Name=value的形式传递进入程序的,在bsh文件中通过
request.getParameter("Name");
取得。使用如下语法进行设置
request.setAttribute("Name", "Tristan");
在ftl文件中可以通过
${RequestParameters['test']}
或者
${RequestParameters.test}
的方式取得。
context上下文中的变量,在程序中进行设置的语法为
context.put("Name", "Tristan");
然后可以直接在对应的ftl文件中中通过如下的方法使用,这个context中的变量是只对这一组解析前运行了相应bsh脚本的ftl文件有效的。
${Name} 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-27
请问您使用的ofbiz是什么版本的。
我现在一个项目也在使用ofbiz,大家可以交流一下 |
|
返回顶楼 | |
发表时间:2009-03-27
最后修改:2009-03-27
原来是基于ofbiz的4.0 稳定版本来做的,后来改成了基于opentaps来做,版本是1.0.3,主要原因是觉得opentaps的trunk已经开始支持GWT,而ofbiz对用户UI一直是很不重视,导致要开发产品,界面上需要做的修改特别多。
给你推荐个网站吧,是我们公司做的 http://www.openbizs.org/,主要是交流ofbiz的开发、使用等等 |
|
返回顶楼 | |
发表时间: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/上也有不少东西。。 |
|
返回顶楼 | |
发表时间:2009-03-31
呵呵我们公司一个月之前刚刚开始基于ofbiz进行开发,这是第一个项目,大家共同进步吧
|
|
返回顶楼 | |