本文整理汇总了Java中org.ofbiz.webapp.view.ViewHandlerException类的典型用法代码示例。如果您正苦于以下问题:Java ViewHandlerException类的具体用法?Java ViewHandlerException怎么用?Java ViewHandlerException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ViewHandlerException类属于org.ofbiz.webapp.view包,在下文中一共展示了ViewHandlerException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleException
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
static void handleException(HttpServletRequest request, HttpServletResponse response, Exception ex, CmsCallType renderMode) throws ViewHandlerException {
// 2017-03-24: only report detailed error if preview/debug mode
if (renderMode == CmsCallType.OFBIZ_PREVIEW) {
rethrowViewHandlerExceptionDetailed(request, ex);
} else {
if (CmsRenderUtil.getLiveExceptionMode(request.getServletContext()) == UtilRender.RenderExceptionMode.DEBUG) {
rethrowViewHandlerExceptionDetailed(request, ex);
} else {
// OLD CODE: this was secure, but prevented controller from handling the error...
// instead, rethrow an error with a generic message
// try {
// response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
// } catch (IOException e1) {
// Debug.logError(e1, "Cms: Error sending server error response" + CmsControlUtil.getReqLogIdDelimStr(request), module);
// }
rethrowViewHandlerExceptionGeneric(request, ex);
}
}
}
示例2: invokeViewHandlerAsJson
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
/**
* SCIPIO: factored out viewAsJson view handler render wrapper code.
*/
public static void invokeViewHandlerAsJson(ViewHandler vh, ConfigXMLReader.ViewAsJsonConfig viewAsJsonConfig, String view, String nextPage, String info, String contentType, String charset, HttpServletRequest req, HttpServletResponse resp) throws ViewHandlerException {
if (vh instanceof ViewHandlerExt) {
ViewHandlerExt vhe = (ViewHandlerExt) vh;
// SPECIAL: we must save _ERROR_MESSAGE_ and the like because the screen handler destroys them!
Map<String, Object> msgAttrMap = ViewAsJsonUtil.getMessageAttributes(req);
Writer sw = ViewAsJsonUtil.prepareWriterAndMode(req, viewAsJsonConfig);
try {
vhe.render(view, nextPage, info, contentType, charset, req, resp, sw);
} finally {
ViewAsJsonUtil.setRenderOutParamFromWriter(req, sw);
ViewAsJsonUtil.setMessageAttributes(req, msgAttrMap);
}
} else {
throw new ViewHandlerException("View handler does not support extended interface (ViewHandlerExt)");
}
}
示例3: render
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
public void render(String name, String page, String info, String contentType, String encoding,
HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
if (UtilValidate.isEmpty(page))
throw new ViewHandlerException("Invalid template source");
// make the root context (data model) for freemarker
MapStack<String> context = MapStack.create();
prepOfbizRoot(context, request, response);
// process the template & flush the output
try {
if (page.startsWith("component://")) {
FreeMarkerWorker.renderTemplateAtLocation(page, context, response.getWriter());
} else {
// backwards compatibility
Template template = config.getTemplate(page);
FreeMarkerWorker.renderTemplate(template, context, response.getWriter());
}
response.flushBuffer();
} catch (TemplateException te) {
throw new ViewHandlerException("Problems processing Freemarker template", te);
} catch (IOException ie) {
throw new ViewHandlerException("Problems writing to output stream", ie);
}
}
示例4: renderError
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
protected void renderError(String msg, Exception e, String screenOutString, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
Debug.logError(msg + ": " + e + "; Screen XSL:FO text was:\n" + screenOutString, module);
try {
Delegator delegator = (Delegator) request.getAttribute("delegator");
Writer writer = new StringWriter();
ScreenStringRenderer screenStringRenderer = new MacroScreenRenderer(EntityUtilProperties.getPropertyValue("widget", "screen.name", delegator),
EntityUtilProperties.getPropertyValue("widget", "screen.screenrenderer", delegator));
ScreenRenderer screens = ScreenRenderer.makeWithEnvAwareFetching(writer, null, screenStringRenderer);
screens.populateContextForRequest(request, response, servletContext);
screens.getContext().put("errorMessage", msg + ": " + e);
screens.render(DEFAULT_ERROR_TEMPLATE);
response.setContentType("text/html");
response.getWriter().write(writer.toString());
writer.close();
} catch (Exception x) {
Debug.logError("Multiple errors rendering FOP", module);
throw new ViewHandlerException("Multiple errors rendering FOP", x);
}
}
示例5: renderError
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
protected void renderError(String msg, Exception e, String screenOutString, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
Debug.logError(msg + ": " + e + "; Screen XSL:FO text was:\n" + screenOutString, module);
try {
Writer writer = new StringWriter();
ScreenRenderer screens = new ScreenRenderer(writer, null, new HtmlScreenRenderer());
screens.populateContextForRequest(request, response, servletContext);
screens.getContext().put("errorMessage", msg + ": " + e);
screens.render(DEFAULT_ERROR_TEMPLATE);
response.setContentType("text/html");
response.getWriter().write(writer.toString());
writer.close();
} catch (Exception x) {
Debug.logError("Multiple errors rendering FOP", module);
throw new ViewHandlerException("Multiple errors rendering FOP", x);
}
}
示例6: init
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
public void init(ServletContext context) throws ViewHandlerException {
rootDir = context.getRealPath("/");
https = (String) context.getAttribute("https");
defaultCharset = context.getInitParameter("charset");
if (UtilValidate.isEmpty(defaultCharset)) {
defaultCharset = "UTF-8";
}
}
示例7: init
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
@Override
public void init(ServletContext context) throws ViewHandlerException {
super.init(context);
this.servletContext = context;
this.defaultCmsPage = new CmsPageInfo(this.webSiteConfig.getDefaultCmsPageId());
this.renderInvoker = RenderInvoker.getRenderInvoker(context);
// hasControllerHint true because if there's a view handler there has to be a controller...
CmsWebSiteInfo webSiteInfo = CmsWebSiteInfo.registerCmsWebSite(context, true);
this.webSiteConfig = CmsWebSiteInfo.getWebSiteConfigOrDefaults(webSiteInfo, servletContext);
}
示例8: renderScreen
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
private void renderScreen(String name, String page, String info, String contentType, String encoding, HttpServletRequest request, HttpServletResponse response, Writer writer) throws ViewHandlerException {
if (CmsUtil.verboseOn()) {
Debug.logInfo("Cms: Starting legacy screen widget render process" + CmsControlUtil.getReqLogIdDelimStr(request), module);
}
if (webSiteConfig.isSetResponseBrowserNoCacheScreen()) {
if (CmsUtil.verboseOn()) {
Debug.logInfo("Cms: Setting browser no-proxy no-cache response" + CmsControlUtil.getReqLogIdDelimStr(request), module);
}
CmsControlUtil.checkSetNoCacheResponse(request, response);
}
super.render(name, page, info, contentType, encoding, request, response, writer);
}
示例9: render
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
@Override
public void render(String name, String page, String info, String contentType, String encoding,
HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
Writer writer;
try {
writer = CmsControlUtil.getResponseWriter(request, response);
} catch (IOException e) {
Debug.logError(e, "Cms: Error getting response writer: " + e.getMessage() + CmsControlUtil.getReqLogIdDelimStr(request), module);
handleException(request, response, e, null);
return;
}
this.render(name, page, info, contentType, encoding, request, response, writer);
}
示例10: render
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
@Override
public void render(String name, String page, String info, String contentType, String encoding,
HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {
try {
this.render(name, page, info, contentType, encoding, request, response, response.getWriter());
} catch (IOException e) {
throw new ViewHandlerException("Error in the response writer/output stream: " + e.toString(), e);
}
}
示例11: viewHandlerRender
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
protected void viewHandlerRender(String typeToUse, HttpServletRequest request, HttpServletResponse response) throws ServletException {
ServletContext context = (ServletContext) request.getAttribute("servletContext");
RequestHandler requestHandler = (RequestHandler) context.getAttribute("_REQUEST_HANDLER_");
// see if the type is defined in the controller.xml file
try {
if (Debug.verboseOn()) Debug.logVerbose("Rendering view [" + content + "] of type [" + typeToUse + "]", module);
ViewHandler vh = requestHandler.getViewFactory().getViewHandler(typeToUse);
// use the default content-type and encoding for the ViewHandler -- may want to change this.
vh.render(name, content, info, null, null, request, response);
} catch (ViewHandlerException e) {
throw new ServletException(e.getNonNestedMessage(), e.getNested());
}
}
示例12: renderCmsPage
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
/**
* Renders page.
* <p>
* DEV NOTE: do not use the "path" parameter.
*
* @return false if must prevent any further web response
*/
private boolean renderCmsPage(HttpServletRequest request, HttpServletResponse response, String path, CmsPage cmsPage, CmsView cmsView, String webSiteId, CmsCallType renderMode, Writer writer) throws ViewHandlerException {
// We must make sure that if for whatever reason a transaction is in place, maybe
// some runaway transaction, we kill it now, because the CMS rendering happens in a
// different thread and this could end in a total lockup if read/writing the same entity
// value if keep a transaction here.
// Note: I wasn't sure if should do commit/rollback or suspend/resume here/after,
// but I'm not sure implications of suspend w.r.t. multithread here so doing commit/rollback for now
endTransactionAlways(request, response);
if (CmsUtil.verboseOn()) {
Debug.logInfo("Cms: Starting CMS page render process" + CmsControlUtil.getReqLogIdDelimStr(request), module);
}
if (webSiteConfig.isSetResponseBrowserNoCacheCmsPage()) {
if (CmsUtil.verboseOn()) {
Debug.logInfo("Cms: Setting browser no-proxy no-cache response" + CmsControlUtil.getReqLogIdDelimStr(request), module);
}
CmsControlUtil.checkSetNoCacheResponse(request, response);
}
try {
// Main render invocation
renderInvoker.invokeCmsRendering(request, response, servletContext, cmsPage, cmsView, webSiteId, renderMode, writer);
// NOTE: 2016: this is never thrown from local cms renders, but leaving here for future use
// } catch (CmsCallHttpException e) {
//
// int httpStatus = e.getHttpStatus();
// int returnCode = passOnHttpStatusesFromCms.contains(httpStatus) ? httpStatus : HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
//
// Exception exToPrint = e;
// if (returnCode == HttpServletResponse.SC_NOT_FOUND) {
// // too verbose
// exToPrint = null;
// }
//
// Debug.logError(exToPrint, "Cms: Error rendering page " + cmsPage.getLogIdRepr() +
// " for view " + cmsView.getLogIdRepr() + " via CMS invocation: " + e.getMessage() + CmsControlUtil.getReqLogIdDelimStr(request), module);
// try {
//
// response.sendError(returnCode);
// } catch (IOException e1) {
// Debug.logError(e1, "Cms: Error sending server error response" + CmsControlUtil.getReqLogIdDelimStr(request), module);
// }
// return false; // Nothing can be sent after this
} catch (Exception e) {
Debug.logError(e, "Cms: Error rendering page " + cmsPage.getLogIdRepr() +
" for view " + cmsView.getLogIdRepr() + " via CMS invocation: " + e.getMessage() + CmsControlUtil.getReqLogIdDelimStr(request), module);
handleException(request, response, e, renderMode);
return false; // Nothing can be sent after this
}
return true;
}
示例13: rethrowViewHandlerExceptionGeneric
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
static void rethrowViewHandlerExceptionGeneric(HttpServletRequest request, Exception ex) throws ViewHandlerException {
final String msg = RequestUtil.getGenericErrorMessage(request);
throw new ViewHandlerException(msg, new Exception(msg));
}
示例14: init
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
public void init(ServletContext context) throws ViewHandlerException {
config.setCacheStorage(new OfbizCacheStorage("unknown"));
config.setServletContextForTemplateLoading(context, "/");
}
示例15: init
import org.ofbiz.webapp.view.ViewHandlerException; //导入依赖的package包/类
/**
* @see org.ofbiz.webapp.view.ViewHandler#init(javax.servlet.ServletContext)
*/
@Override
public void init(ServletContext context) throws ViewHandlerException {
this.servletContext = context;
}