List of usage examples for org.springframework.web.servlet.view AbstractUrlBasedView setUrl
public void setUrl(@Nullable String url)
From source file:org.jtwig.mvc.JtwigViewResolver.java
@Override protected AbstractUrlBasedView buildView(String viewName) throws Exception { AbstractUrlBasedView abstractUrlBasedView = super.buildView(viewName); abstractUrlBasedView.setUrl(urlResolver().resolve(getPrefix(), viewName, getSuffix())); return abstractUrlBasedView; }
From source file:org.nextframework.controller.CompositeViewResolver.java
@Override protected View loadView(String viewName, Locale locale) throws Exception { boolean direct = false; if (viewName.startsWith("direct:")) { direct = true;//from w ww .j av a 2s.co m viewName = viewName.substring("direct:".length()); } String classpathView = null; if (viewName.startsWith("classpath:")) { viewName = viewName.substring("classpath:".length()); String path = viewName.substring(0, viewName.lastIndexOf('.')); URL resource = getServletContext() .getResource("/WEB-INF/classes/" + viewName.replace('.', '/') + ".jsp"); if (resource == null) { InputStream in = getClass().getClassLoader() .getResourceAsStream(viewName.replace('.', '/') + ".jsp"); if (in == null) { throw new RuntimeException("view not found " + viewName); } File dir = new File(getServletContext().getRealPath("/WEB-INF/classes/" + path.replace('.', '/'))); dir.mkdirs(); BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(getServletContext() .getRealPath("/WEB-INF/classes/" + viewName.replace('.', '/') + ".jsp"))); int data; while (((data = in.read()) >= 0)) { out.write(data); } out.flush(); } classpathView = "/WEB-INF/classes/" + viewName.replace('.', '/') + ".jsp"; } AbstractUrlBasedView view = (AbstractUrlBasedView) super.loadView(viewName, locale); if (direct) { return view; } if (classpathView != null) { view.setUrl(classpathView); } if (useBase == null) { String[] bases = baseView.split(","); for (String base : bases) { if (getServletContext().getResourceAsStream(base) == null) { useBase = false; } else { useBase = true; baseView = base; break; } } } if (!useBase) { return super.loadView(viewName, locale); } if (baseView == null) { throw new RuntimeException( CompositeViewResolver.class.getName() + ": property baseView no pode ser null"); } if (parameterName == null) { throw new RuntimeException( CompositeViewResolver.class.getName() + ": property parameterName no pode ser null"); } //url q seria usada String previousURL = view.getUrl(); view.addStaticAttribute(parameterName, previousURL); //log.info(baseView+" > "+parameterName+" = "+previousURL); if (getServletContext().getResourceAsStream(previousURL) == null) { log.warn("Pgina no existente: " + previousURL); } view.setUrl(baseView); return view; }