1 25 26 package com.j2biz.blogunity.util; 27 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.http.HttpServletResponse ; 30 import javax.servlet.http.HttpSession ; 31 32 import org.radeox.api.engine.RenderEngine; 33 import org.radeox.api.engine.context.InitialRenderContext; 34 import org.radeox.api.engine.context.RenderContext; 35 import org.radeox.engine.context.BaseInitialRenderContext; 36 import org.radeox.engine.context.BaseRenderContext; 37 38 import com.j2biz.blogunity.IConstants; 39 import com.j2biz.blogunity.pojo.Entry; 40 import com.j2biz.blogunity.render.BlogunityRenderEngine; 41 42 public class RenderUtils { 43 44 public static Entry render(Entry entry, HttpServletRequest request, HttpServletResponse response) { 45 if (entry == null) return null; 46 47 BaseInitialRenderContext initCtx = new BaseInitialRenderContext(); 48 initCtx.set("blog", entry.getBlog()); 49 initCtx.set("webappName", request.getContextPath()); 50 51 HttpSession session = request.getSession(false); 52 if (session != null) 53 initCtx.set("user", session.getAttribute(IConstants.Session.USER)); 54 else 55 initCtx.set("user", null); 56 57 RenderEngine engine = initRenderEngine(initCtx); 58 RenderContext ctx = new BaseRenderContext(); 59 60 String result = engine.render(entry.getRawTitle(), ctx); 62 entry.setTitle(result); 63 64 if (entry.getRawExcerpt() != null) { 66 result = engine.render(entry.getRawExcerpt(), ctx); 67 entry.setExcerpt(result); 68 } else 69 entry.setExcerpt(null); 70 71 result = engine.render(entry.getRawBody(), ctx); 73 entry.setBody(result); 74 75 return entry; 76 } 77 78 public static String renderText(String text) { 79 80 if (text == null) return null; 81 82 RenderEngine engine = initRenderEngine(); 83 RenderContext ctx = new BaseRenderContext(); 84 85 return engine.render(text, ctx); 86 } 87 88 private static BlogunityRenderEngine initRenderEngine(InitialRenderContext initCtx) { 89 return new BlogunityRenderEngine(initCtx); 90 } 91 92 private static BlogunityRenderEngine initRenderEngine() { 93 return new BlogunityRenderEngine(); 94 } 95 96 } | Popular Tags |