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)
发表评论
Want to join the discussion?Feel free to contribute!