1、ThemePreviewFilter过滤器
主要代码:
ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
WebKeys.THEME_DISPLAY);
Pattern cssPattern = Pattern.compile(
themeDisplay.getPathThemeCss());
Matcher cssMatcher = cssPattern.matcher(content);
content = cssMatcher.replaceAll("css");
Pattern imagePattern = Pattern.compile(
themeDisplay.getPathThemeImages());
Matcher imageMatcher = imagePattern.matcher(content);
content = imageMatcher.replaceAll("images");
功能:判断是否是要预览,如果是预览,替换response中的themeDisplay.getPathThemeCss()为“css”,themeDisplay.getPathThemeImages()为“images”。(预览时不加载layout)
2、Sharepoint过滤器
主要代码:
protected void setGetHeaders(HttpServletResponse response) {
response.setContentType("text/html");
response.setHeader(
"Public-Extension", "http://schemas.microsoft.com/repl-2");
response.setHeader(
"MicrosoftSharePointTeamServices", SharepointUtil.VERSION);
response.setHeader("Cache-Control", "no-cache");
}
protected void setOptionsHeaders(HttpServletResponse response) {
response.setHeader("MS-Author-Via", "MS-FP/4.0,DAV");
response.setHeader("MicrosoftOfficeWebServer", "5.0_Collab");
response.setHeader(
"MicrosoftSharePointTeamServices", SharepointUtil.VERSION);
response.setHeader("DAV", "1,2");
response.setHeader("Accept-Ranges", "none");
response.setHeader("Cache-Control", "no-cache");
response.setHeader(
"Allow",
"COPY, DELETE, GET, GETLIB, HEAD, LOCK, MKCOL, MOVE, OPTIONS, " +
"POST, PROPFIND, PROPPATCH, PUT, UNLOCK");
}
protected void setPostHeaders(HttpServletResponse response) {
response.setContentType("application/x-vermeer-rpc");
response.setHeader(
"MicrosoftSharePointTeamServices", SharepointUtil.VERSION);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Connection", "close");
}
主要功能:设置返回的html的头协议。
3、VirtualHostFilter 过滤器
主要代码:
String friendlyURL = request.getRequestURI();
if ((Validator.isNotNull(contextPath)) &&
(friendlyURL.indexOf(contextPath) != -1)) {
friendlyURL = friendlyURL.substring(contextPath.length());
}
friendlyURL = StringUtil.replace(
friendlyURL, StringPool.DOUBLE_SLASH, StringPool.SLASH);
主要功能:把虚拟主机的地址隐射成新的地址。
4、ThreadLocalFilter过滤器
主要代码:
if (threadLocalSet == null) {
return;
}
for (ThreadLocal<?> threadLocal : threadLocalSet) {
threadLocal.remove();
}
功能:用户请求完成后,从线程池中移除此线程
5、StripFilter 过滤器
主要代码:
boolean skipped = false;
for (int i = charBuffer.position(); i < charBuffer.limit(); i++) {
char c = charBuffer.get();
if ((c == CharPool.SPACE) || (c == CharPool.TAB) ||
(c == CharPool.RETURN) || (c == CharPool.NEW_LINE)) {
skipped = true;
continue;
}
else {
charBuffer.position(i);
break;
}
}
if (skipped) {
writer.write(CharPool.SPACE);
}
主要功能:去掉空行,加快页面的展示速度。
分享到:
相关推荐
Liferay Portal Liferay IDE
liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器
环境搭建 一、资源准备 以上资源内容可以在Liferay的官方网站下载, ...四、运行Liferay 经过上面的三步,在Liferay IDE(Eclipse 4.2)的下方的server面板处,可以看到Liferay 6.1 CE Server,现在点击运行
liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南
Liferay中的AUI框架,官方叫做Alloy,是一个UI超框架,能为浏览器的三方面,结构,风格和表现建立网络应用提供连续的简单的API。 它融合了三种设计语言:HTML, CSS 和 JAVA。 准确来说AUI是Liferay在YUI的基础上...
liferay 超级学习文档 liferay 框架 java hibernate liferay 不用多说
liferay 二次开文档
Liferay Web内容管理指南Liferay
liferay tune
Liferay 6 入门教程
Liferay Themes[1].pdf Liferay+CMS系统培训.ppt Liferay+Portal+数据库介绍+.doc Liferay+权限管理.doc liferay-portal-5-2-systems-development-sample-chapter-5-managing-pages[1].pdf ...
Liferay教程
liferay6.2开发指南liferay6.2开发指南.doc
liferay快速入门quickstart
liferay文档 给初学liferay的人
Liferay is a different portal. 10分下载的, 打包5折提供下载. Part 1 Introduction to Liferay 1. Liferay is a different portal 2. Getting started with the Liferay development platform Part 2 Adding ...
liferay6的布局开发的制作过程,分几步详细的写出了怎么制作布局。
liferay portlet form 机制
这是本人工作了2年有关liferay中的所有技术详细日记 很珍贵
liferay6.06学习手册 Liferay Portal6.0.6学习笔记