2013年03月 归档

Liferay portlet首选项(preferences)设置、存储处理

最近使用Liferay做项目集成,由于团队人员在之前对Liferay这东西都没有充分的了解,用起来着实费了不少力气,最近为了为定制好的portlet添加初始化信息,翻阅了一些文章,下面是了解到的关于初始化信息(首选项)的配置处理机制.在JSR168规范中,允许使用preferences来存储portlet的一些初始信息,preferences的内容在portlet.xml来设置.而在Liferay中,对preferences加入了数据库持久化功能,并且可针对company,layout,portlet instance和user的不同组合来定制.

首先来看看在jsp页面上如何访问preferences.

/html/portal/render_portlet.jsp - Portlet输出页面.

Portlet portlet = (Portlet)request.getAttribute(WebKeys.RENDER_PORTLET);
CachePortlet cachePortlet = PortletInstanceFactory.create(portlet, application);

读取preferences.

PortletPreferences portletPrefs = PortletPreferencesLocalServiceUtil.getPreferences(
company.getCompanyId(), PortletPreferencesFactory.getPortletPreferencesPK(request, portletId));

查看更多...

JavaScript:世界上误解最深的语言

JavaScript,是世界上最流行的编程语言之一。事实上世界上的每一台个人电脑都安装并在频繁使用至少一个JavaScript解释器。JavaScript的流行完全是由于他在WWW脚本语言领域中的地位决定的。

Despite its popularity, few know that JavaScript is a very nice dynamic object-oriented general-purpose programming language. How can this be a secret? Why is this language so misunderstood?

尽管它很流行,但是很少有人知道JavaScript是一个非常棒的动态面向对象通用编程语言。这居然能成为一个秘密!这门语言为什么被误解如此之深?

The Name

名字

The Java- prefix suggests that JavaScript is somehow related to Java, that it is a subset or less capable version of Java. It seems that the name was intentionally selected to create confusion, and from confusion comes misunderstanding. JavaScript is not interpreted Java. Java is interpreted Java. JavaScript is a different language.

Java- 前缀很容易使人联想到Java,并认为它是Java的子集或简化版的Java。 查看更多...

初识Apache Velocity(Java模板引擎)

最近项目转用Liferay框架做支撑,在了解Liferay的时候发现Liferay的Theme中使用了不少的*.vm文件,一时不解,就回来上网查了下,本来还以为是Liferay自己封装的模板引擎,简单的了解后才发现这个文件原来是基于Apache Velocity的 Java模板引擎,做为Java开发人员,相信不少人看过或了解过Velocity,名称字面翻译为:速度、速率、迅速,用在Web开发里,但是用过的人可能不多,大都基本知道和在使用Struts,到底Velocity和Struts是如何联系,怎么看待Velocity呢?让我们来尝试一 下,了解Velocity的概念,通过在这里的介绍,强调在技术选择上的问题,让大家在选择项目开发时,可以考虑Velocity,另外也让大家了解它的 思想,毕竟它提供了一个很好的思维方式,给大家换换筋骨,换一种思考的方式。

本文基于你对Java开发有一定基础,知道MVC,Struts等开发模式。

Velocity是一种Java模版引擎技术,该项目由Apache提出,由另外一种引擎技 术Webmacro引深而来。那什么是官方的Velocity定义呢?Apache对它的定义是:一种基于Java的模板引擎,但允许任何人使用简单而强 大的模板语言来引用定义在Java代码中的对象。目前最新的版本是1.7,可以在http://velocity.apache.org/查找更多信息。 查看更多...