Webcenter sites URL Assembler

前言:

一个站点完美的用户体验往往体现在各种细节当,友好的URL也是增强用户体验的一个小细节,Webcenter sites也提供了URL美化的解决方案。

解决方案:

跟其它sites中的功能一样,URL美化的解决方案也在FirstSiteII站点中给出了相应的例子,

在webcenter sites安装CD(即安装包)中的如下目录下找到FSIIAssembler.java文件:

/ContentServer/FirstSiteII/PrettyURL/src/com/
fatwire/firstsite/uri/FSIIAssembler.java

默认此URL装配器是配制上的,如果你访问FirstSiteII站点的话,则会调用此过滤器,当然需要满足过滤器条件规则的URL才能够正常触发。在domainCSWEB-INFclasses目录下找到ServletRequest.properties文件,使用propeditor打开文件:

你自己定制的装配器配制在红框中的两个属性中。当然,FirstSiteII站点默认的装配器就是配制在这里的。

 

我们如果在firestSiteII站点中,使用如下规则访问站点:

…ContentServer/[site]/[sitepfx]/[cid]

则会触发FSIIAssembler.java java类,你可以通过远程debug的方式来跟踪此类来具体了解URL装配器是如何工作的。

 

原理举例说明:

下面以用户通过 URL 访问站点页面来说明下sites的封装器。

用户输入URL访问站点页面

调用解装方法,将URI path进行解析,然后将解析后得到的参数放入sites的上下文中

在页面渲染的时候,对页面中使用render:getpageurl标签的地方则会调用装配器的装配方法,根据我们定制的规则将页面上的链接装配好给用户点击使用。

 

主要工作的方法有两个,即解装跟装配两个方法:

解装方法:protected DisassemblyContext getDisassemblyContext(URI uri)

装配方法:getAssemblyContext(Definition def)

0 评论/通过:
0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注