我正在使用ColdFusion 9,在JBOSS/LIFERAY 6下运行。

一切都很好,我已经开发了很多我已经为之工作的Portlet(当我遇到一些通常可以直接处理的问题时)。总体ColdFusion 9 Portlet在Liferay内部运行良好。

我真的不喜欢的一件事是,URL是如此不可读,我真的希望为我的应用程序提供干净的URL,因此当用户搜索并且结果返回时,我可以让他们单击链接,例如 http://liferaysite.com/web/viewitem/ABC123.

目前,我得到了一个破烂的URL,其中包括Portlet状态,属性,与我通过的变量相关联的Portlet ID(通常是Portlet ID +变量的组合)和其他不需要的垃圾。

有什么“简单”的方法可以获取干净的URL?我的问题是我不是一个Java人,所以我在研究JBOSS/LIFERAY代码方面并不是太知觉了。但是,我觉得Liferay足够“免提”,因此我可以在不修改Java代码并变得肮脏的情况下进行构建和部署它们。

有任何想法吗?我找不到有关此文章的许多文章,尤其是因为Liferay 6是如此新,而且很少有人发布有关它的内容。也许这是JBOSS中的某种URL重写?

谢谢,感谢所有建议:)

有帮助吗?

解决方案

简短的答案是使用RURL重写来实现这一目标,并将Liferay URL转换为您想要的任何形式。我看到有两种可能性这样做:

  1. 将Apache Web服务器放在您的Liferay服务器前面,并使用Mod_rewrite
  2. 使用 URL重写过滤器 它已经包含在Liferay中,因为此模仿Mod_rewrite在不需要额外的Apache服务器的情况下做什么

其他提示

您可能对Frillylmappers感兴趣。看 此博客条目 关于基础知识。

关于“轻松”,您必须自己判断。门户的性质,例如,在单个页面上组合完全不同和独立的应用程序(portlet),您可以放松对URL的控制(默认情况下),因为该门户网站必须消除很多歧义。为了获得控制权,您需要做一些工作,Frillylmappers强加了一些工作,但结果值得imho。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top