📄 velocitytemplateengine.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: VelocityTemplateEngine.java
package org.apache.struts2.components.template;
import com.opensymphony.xwork2.util.ValueStack;
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.views.velocity.VelocityManager;
import org.apache.velocity.Template;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
// Referenced classes of package org.apache.struts2.components.template:
// BaseTemplateEngine, Template, TemplateRenderingContext
public class VelocityTemplateEngine extends BaseTemplateEngine
{
private static final Log LOG = LogFactory.getLog(org/apache/struts2/components/template/VelocityTemplateEngine);
private VelocityManager velocityManager;
public VelocityTemplateEngine()
{
}
public void setVelocityManager(VelocityManager mgr)
{
velocityManager = mgr;
}
public void renderTemplate(TemplateRenderingContext templateContext)
throws Exception
{
Map actionContext = templateContext.getStack().getContext();
ServletContext servletContext = (ServletContext)actionContext.get("com.opensymphony.xwork2.dispatcher.ServletContext");
HttpServletRequest req = (HttpServletRequest)actionContext.get("com.opensymphony.xwork2.dispatcher.HttpServletRequest");
HttpServletResponse res = (HttpServletResponse)actionContext.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
velocityManager.init(servletContext);
VelocityEngine velocityEngine = velocityManager.getVelocityEngine();
List templates = templateContext.getTemplate().getPossibleTemplates(this);
Template template = null;
String templateName = null;
Exception exception = null;
Iterator i$ = templates.iterator();
do
{
if (!i$.hasNext())
break;
org.apache.struts2.components.template.Template t = (org.apache.struts2.components.template.Template)i$.next();
templateName = getFinalTemplateName(t);
try
{
template = velocityEngine.getTemplate(templateName);
break;
}
catch (IOException e)
{
if (exception == null)
exception = e;
}
} while (true);
if (template == null)
{
LOG.error((new StringBuilder()).append("Could not load template ").append(templateContext.getTemplate()).toString());
if (exception != null)
throw exception;
else
return;
}
if (LOG.isDebugEnabled())
LOG.debug((new StringBuilder()).append("Rendering template ").append(templateName).toString());
Context context = velocityManager.createContext(templateContext.getStack(), req, res);
java.io.Writer outputWriter = templateContext.getWriter();
context.put("tag", templateContext.getTag());
context.put("parameters", templateContext.getParameters());
template.merge(context, outputWriter);
}
protected String getSuffix()
{
return "vm";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -