Liferay 6 / jboss是否有一种“简便”的方法可以使用干净的URL?
-
30-09-2019 - |
题
我正在使用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转换为您想要的任何形式。我看到有两种可能性这样做:
- 将Apache Web服务器放在您的Liferay服务器前面,并使用Mod_rewrite
- 使用 URL重写过滤器 它已经包含在Liferay中,因为此模仿Mod_rewrite在不需要额外的Apache服务器的情况下做什么
其他提示
您可能对Frillylmappers感兴趣。看 此博客条目 关于基础知识。
关于“轻松”,您必须自己判断。门户的性质,例如,在单个页面上组合完全不同和独立的应用程序(portlet),您可以放松对URL的控制(默认情况下),因为该门户网站必须消除很多歧义。为了获得控制权,您需要做一些工作,Frillylmappers强加了一些工作,但结果值得imho。