⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 velocitytemplateengine.java

📁 struts 2 核心包 的源码 有错误是难免的
💻 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 + -