List of usage examples for org.springframework.web.servlet.view AbstractUrlBasedView getUrl
@Nullable
public String getUrl()
From source file:org.toobsframework.pres.doit.controller.strategy.DefaultForwardStrategy.java
public AbstractUrlBasedView resolveSuccessForward(IRequest componentRequest, DoIt doIt, Map<String, Object> forwardParams) { AbstractUrlBasedView forwardView = null; String forwardName = getForwardName(FORWARD_NAME_PARAM, componentRequest.getParams()); if (forwardName == null) { forwardName = DEFAULT_SUCCESS_FORWARD_NAME; }//from ww w . ja va 2 s . c om Forward toobsForwardDef = getForward(doIt, forwardName); if (toobsForwardDef != null) { String forwardTo = ParameterUtil.resoveForwardPath(componentRequest, toobsForwardDef, componentRequest.getHttpRequest().getParameterMap()); forwardView = new RedirectView(forwardTo, true); if (toobsForwardDef != null && toobsForwardDef.getParameters() != null) { // Create a clone of the input params Map<String, Object> allParams = new HashMap<String, Object>(componentRequest.getParams()); // Add the response params to it allParams.putAll(componentRequest.getResponseParams()); try { ParameterUtil.mapParameters(componentRequest, "Forward:" + toobsForwardDef.getUri(), toobsForwardDef.getParameters().getParameter(), allParams, forwardParams, doIt.getName()); } catch (ParameterException e) { log.error("Forward Parameter Mapping error " + e.getMessage(), e); componentRequest.getHttpResponse().setHeader(PresConstants.TOOBS_EXCEPTION_HEADER_NAME, "true"); forwardView = new InternalResourceView(this.getReferer(componentRequest.getHttpRequest())); } } } if (log.isDebugEnabled()) { log.debug("Success forward to: " + (toobsForwardDef != null ? toobsForwardDef.getName() : "null") + " URI: " + (forwardView != null ? forwardView.getUrl() : "null")); Iterator<Map.Entry<String, Object>> iter = forwardParams.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<String, Object> entry = iter.next(); log.debug("-->Forward Param - name: " + entry.getKey() + " value: " + entry.getValue()); } } return forwardView; }
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 www. j ava 2 s . c o 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; }