-1

我正在使用 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 足够“解放双手”,因此我可以构建我的 portlet 并部署它们,而无需修改 JAVA 代码和弄脏它们。

有任何想法吗?我找不到很多关于这方面的文章,特别是因为 Liferay 6 太新了,而且很少有人发布关于它的东西。也许这将是 Jboss 中的某种 URL 重写?

谢谢你,感谢任何和所有的建议:)

4

2 回答 2

1

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

  1. 在 Liferay 服务器前面放置一个 Apache Web 服务器并使用 mod_rewrite
  2. 使用已经包含在 Liferay 中的URL 重写过滤器,因为这模仿了 mod_rewrite 所做的而不需要额外的 Apache 服务器
于 2011-01-26T15:16:11.063 回答
1

您可能对 FriendlyUrlMappers 感兴趣。有关基础知识,请参阅此博客条目

关于“容易”,您必须自己判断。门户的性质,例如在单个页面上组合完全不同且独立的应用程序 (portlet),会导致您失去对 URL 的控制(默认情况下),因为门户必须消除很多内容的歧义。为了重新获得控制权,您需要做一些工作,FriendlyUrlMappers 强加了一些工作,但恕我直言,结果是值得的。

于 2011-01-27T22:25:40.113 回答