`

在Liferay Portal中使用DWR

    博客分类:
  • Web
阅读更多
Portal的概念风风火火地炒了好几年,确始终没有大红大紫。眼看着Ajax和Web 2.0朝自己杀来,靠Portal产品过日子的厂商们也终于按耐不住了。老牌开源Portal产品Liferay在其4.0版本中就加入了Ajax的东东,其Portlet的移动、添加和删除就是基于Ajax的。但是这远远是不够的,如果不能在产品级别更好的支持Portlet内部的Ajax,那么传统的Portal很可能会穷途末路,因为完全基于Ajax的PortalFramework已经出现了,如Light

然而无论Ajax和Web 2.0发展成什么样,有一点它是无法取代Portal的,就是Web系统的组件化乃至服务化。Portal最有价值的地方也就是提出了把Web系统当作组件或服务来集成,这样,无论是遗留下来的Web系统,还是新开发的Web系统,都可以很简单地集成在一块儿,并且,把某个Web系统替换掉也是很简单的。也许不久的将来,Ajax和Web 2.0的阵营中也会出现把Web系统当作组件或服务的技术,但是这其实就是Portal的概念,换汤不换药。

前阵子有机会在Liferay Portal下开发一些Ajax的Portlet,其中用到了DWR,有些tricky的地方,写在这里方便各位,也方便自己。

在Portlet的jsp中引用DWR的js不能简单地直接使用相对路径,比如,如果DWR的js相对jsp放在/dwr目录中的话,如下的引用方式是不对的:

<!----><script type="text/javascript" src="/dwr/engine.js"></script>
<script type="text/javascript" src="/dwr/util.js"></script>
<script type="text/javascript" src="/dwr/interface/YourClass.js"></script>

因为当你把Portlet部署到Liferay的时候,这个相对路径的意义就变了。为了正确引用js,我们必须使用如下的声明方式:

<!----><script type="text/javascript"
    src
='<%= renderResponse.encodeURL(renderRequest.getContextPath() + "/dwr/engine.js") %>'>
</
script>
<script type="text/javascript"
    src
='<%= renderResponse.encodeURL(renderRequest.getContextPath() + "/dwr/util.js") %>'>
</
script>
<script type="text/javascript"
    src
='<%= renderResponse.encodeURL(renderRequest.getContextPath() +
                 "/dwr/interface/RssReader.js") %
>'>
</
script>

其中的renderRequest和renderResponse是Liferay Portal添加到jsp中的隐含变量,负责对Portlet进行渲染。renderRequest.getContextPath()就是当前jsp的路径,加上js相对于jsp的路径,最后要用renderResponse.encodeURL()方法解码一下才能得到正确的路径。

其他方面,DWR的使用方法就和在一般的jsp中的使用方法一样了。从这里也可以看出,不光是使用DWR,所有对js及其他资源的引用都要用这种方法。
分享到:
评论
1 楼 ss1 2009-03-19  
具体点,我还是不会啊

相关推荐

    liferay portal 6 使用文档

    在维护方面,Liferay提供了详细的文档和社区支持,帮助用户解决在使用过程中遇到的问题。 #### 五、案例研究与最佳实践 Liferay Portal 6在全球范围内有众多成功案例,涉及金融、教育、医疗等多个行业。例如,某...

    liferay portal开发大全

    Portlet是Liferay Portal中的核心组件,是可重用的Web UI模块。开发者可以通过实现JSR 286(Portlet 2.0)规范来创建portlet。文档中将详细介绍portlet生命周期、渲染、事件处理以及portlet与portlet之间的通信。 ...

    liferay portal 开发实例

    在Liferay Portal中,Portlet是展示内容的基本单元,它可以通过MVC模式来实现业务逻辑、数据处理和视图呈现的分离。MVC架构允许开发者将程序分为三个主要部分:模型(Model)负责数据处理和业务逻辑,视图(View)...

    liferay Portal 的学习书籍

    Liferay Portal能够提供这样的平台,并且是基于Java语言构建的,这一点在标题中得到了强调。 接着从描述中可以看出,这本书籍适合读者群体很可能是对Liferay Portal有所了解或需要深入了解Liferay Portal的开发者和...

    Liferay Portal 内容管理

    在Liferay Portal中,文档管理主要通过【Document Library】Portlet实现。用户可以方便地上传文档,如在文件夹内点击【Add Document】,选择本地文件上传。值得注意的是,上传的文档大小通常有3000KB的限制。文档...

    liferay portal 开发指南

    本文档适用于希望了解如何在 Liferay Portal 中开发和部署 Portlet 的开发者。通过遵循 JSR-168 规范,可以确保 Portlet 能够在不同的门户平台上运行。同时,本文档还介绍了推荐使用的开发工具、开发环境的搭建方法...

    Liferay Portal Systems Development

    3. 社交系统开发:社交功能是现代企业门户不可或缺的一部分,Liferay通过各种社交Portlets,允许用户在其门户中集成社交网络元素,例如论坛、博客、好友系统等。 4. 技术集成:Liferay支持与多种技术的集成,这意味...

    Liferay Portal 二次开发指南

    ### Liferay Portal 二次开发指南 ...总之,Liferay Portal的二次开发不仅涉及技术层面的编码和配置,还需要深入理解其架构和使用模式,才能充分利用其强大功能,构建出既高效又个性化的门户应用。

    liferay Portal 求助

    “工具”标签可能涵盖了开发过程中使用的各种辅助软件,比如IDE(如Eclipse、IntelliJ IDEA)、版本控制系统(如Git)、构建工具(如Maven)以及测试框架。在Liferay开发中,使用这些工具能帮助你更高效地工作,例如...

    Using Liferay Portal 6.1

    Using Liferay Portal 6.1

    Liferay Portal文档

    - **Portlet**:是portal中的可重用组件,可以是动态的Web应用程序,如新闻显示、天气预报等,它们在portal页面上并排显示,提供交互式的用户体验。 - **Portlet与Servlet的关系**:Portlet与Servlet类似,都是...

    Liferay Portal 数据库介绍

    在Liferay Portal 中,可以通过不同的portlet来修改页面的布局和Page Settings 等。例如: * 对社区的页面进行修改:选择【Communities】portlet,选择某个社区,点击【Actions】,选择【Configure Pages】,即可...

    Liferay Portal 中文开发指南

    - **目标读者**:本指南旨在帮助想要在Liferay Portal上开发Portlets的新手开发者。它假设读者已经具备一定的Java编程基础,并了解基本的Web应用开发概念。 - **适用版本**:文档基于Liferay 4.3版本编写,部分特性...

    liferay-portal-sql-6.1.1-ce-ga2-20120731132656558

    描述中的内容与标题相同,表明这个资源是专门针对Liferay Portal 6.1.1 CE GA2的SQL操作,可能包含安装、升级、数据迁移或性能调整所需的SQL语句。 标签 "liferay" 指出这是Liferay Portal相关的,"oracle" 暗示...

    搭建liferay portal的开发环境.doc

    1. **创建Eclipse项目**:在Eclipse中新建一个名为`liferayPortal`的项目,并设置源文件夹为`src`,路径应为`liferay/WEB-INF/classes`。 2. **部署Tomcat**:解压`liferay-portal-tomcat-jdk5-4.0.0.zip`文件,将...

    Liferay Portal Liferay IDE

    Liferay Portal Liferay IDE

    liferay_Portal的安装与简单应用.docx

    在Eclipse中,选择“Help” &gt; “Install New Software...”,然后添加Liferay IDE的URL,如Helios release stable或nightly URL,进行插件安装。 通过上述介绍,我们可以看到Liferay Portal不仅是一个强大的企业...

    LifeRay_Portal6.0.6学习手册

    《LifeRay Portal 6.0.6 学习手册》是一份针对LifeRay Portal初学者的详细教程,旨在帮助读者深入了解和掌握LifeRay Portal的使用和开发。下面将对其中的关键知识点进行深入探讨。 1. **LifeRay Portal初体验** ...

    liferay-portal详解

    第二部分:Liferay Portal 的使用 Liferay Portal 安装 Liferay Portal 的安装包括下载、解压和配置三个步骤。下载 Liferay Portal 的安装包,解压到指定的目录,配置数据库和服务器信息。 Liferay Portal 的用户...

Global site tag (gtag.js) - Google Analytics