📄 defaultpagevender.java
字号:
package com.easyjf.web.core.support;
import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.velocity.Template;
import org.apache.velocity.context.Context;
import org.apache.velocity.io.VelocityWriter;
import org.apache.velocity.util.SimplePool;
import com.easyjf.web.ActionContext;
import com.easyjf.web.Page;
import com.easyjf.web.WebInvocationParam;
import com.easyjf.web.core.FrameworkEngine;
public class DefaultPageVender extends BasePageVender {
private static final Logger logger = Logger
.getLogger(DefaultPageVender.class);
private final static SimplePool writerPool = new SimplePool(60);
protected boolean mergeTemplate(Template template, Context context,
HttpServletResponse response, Page page,
HttpServletRequest request, WebInvocationParam param) {
VelocityWriter vw = null;
Writer writer = null;
try {
response.setCharacterEncoding(template.getEncoding());
response.setContentType(page.getContentType());
writer = ActionContext.getContext().getCustomWriter();// 首先判断是否重定向了writer
if (writer == null)
writer = FrameworkEngine.getResponseWriter(response);
vw = (VelocityWriter) writerPool.get();
if (vw == null) {
vw = new VelocityWriter(writer, 4 * 1024, true);
} else {
vw.recycle(writer);
}
template.merge(context, vw);
} catch (Exception e) {
logger.error(e);
// throw new FrameWorkException("合并模块错误!",e);
} finally {
if (vw != null) {
try {
vw.flush();
vw.recycle(null);
writerPool.put(vw);
writer.close();
} catch (Exception e) {
logger.error("Trouble releasing VelocityWriter: "
+ e.getMessage());
}
}
}
return true;
}
public Integer getOrder() {
// TODO Auto-generated method stub
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -