From: <df...@us...> - 2009-02-19 13:24:29
|
Revision: 1034 http://openutils.svn.sourceforge.net/openutils/?rev=1034&view=rev Author: dfghi Date: 2009-02-19 12:07:29 +0000 (Thu, 19 Feb 2009) Log Message: ----------- Merge changes from a website development. Modified Paths: -------------- trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlRequestProcessorHelper.java trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlStrutsUtils.java trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/render/StrutsRenderer.java trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/taglib/MgnlFormTag.java Modified: trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlRequestProcessorHelper.java =================================================================== --- trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlRequestProcessorHelper.java 2009-02-19 11:53:22 UTC (rev 1033) +++ trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlRequestProcessorHelper.java 2009-02-19 12:07:29 UTC (rev 1034) @@ -86,16 +86,34 @@ uri = forwardPath; } + // TODO da verificare + String urifornavigation; + if (!StringUtils.isEmpty(uri)) + { + urifornavigation = uri; + + if (!uri.endsWith(".jsp") && !uri.startsWith("/do")) + { + urifornavigation = "/do" + uri; + } + urifornavigation = request.getContextPath() + urifornavigation; + request.setAttribute(MgnlStrutsUtils.ATTRIBUTE_URIFORNAVIGATION, urifornavigation); + } + if (forward.getRedirect() && !uri.endsWith(".jsp")) { // @todo redirect in templates // only prepend context path for relative uri - if (uri.startsWith("/")) - { - uri = request.getContextPath() + uri; - } - response.sendRedirect(response.encodeRedirectURL(uri)); + // if (uri.startsWith("/")) { + // uri = request.getContextPath() + uri; + // } + // log.info("Redirecting to " + uri); + // + // response.sendRedirect(response.encodeRedirectURL(uri)); + // force includes instead of redirects + doInclude(uri, request, response); + } else { @@ -111,6 +129,8 @@ // needed for chained forwards, avoid loops! request.setAttribute(StrutsRenderer.PARAGRAPH_PATH, uri); + request.setAttribute("process_jsps", Boolean.TRUE); + // Unwrap the multipart request, if there is one. if (request instanceof MultipartRequestWrapper) { @@ -168,9 +188,8 @@ { getOut().write("Invalid path: " + path); } + return null; - return (null); - } private static WebContext getWebContext() Modified: trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlStrutsUtils.java =================================================================== --- trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlStrutsUtils.java 2009-02-19 11:53:22 UTC (rev 1033) +++ trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/process/MgnlStrutsUtils.java 2009-02-19 12:07:29 UTC (rev 1034) @@ -61,6 +61,16 @@ public static final String ATTRIBUTE_ORIGINALURI = "_originaluri"; /** + * + */ + public static final String ATTRIBUTE_URIFORNAVIGATION = "_urifornavigation"; + + /** + * + */ + public static final String ATTRIBUTE_STRUTSACTION = "_strutsaction"; + + /** * Logger. */ private static Logger log = LoggerFactory.getLogger(MgnlStrutsUtils.class); Modified: trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/render/StrutsRenderer.java =================================================================== --- trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/render/StrutsRenderer.java 2009-02-19 11:53:22 UTC (rev 1033) +++ trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/render/StrutsRenderer.java 2009-02-19 12:07:29 UTC (rev 1034) @@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.apache.struts.Globals; import org.apache.struts.action.ActionServlet; import org.apache.struts.action.RequestProcessor; @@ -77,6 +78,19 @@ String actionParameter = RequestFormUtil.getParameter(request, MgnlStrutsUtils.PARAMETER_MGNLACTION); + // TODO da verificare + String urifornavigation = actionParameter; + if (!StringUtils.isEmpty(urifornavigation)) + { + + if (!urifornavigation.startsWith("/do/")) + { + urifornavigation = "/do" + urifornavigation; + } + urifornavigation = request.getContextPath() + urifornavigation; + request.setAttribute(MgnlStrutsUtils.ATTRIBUTE_URIFORNAVIGATION, urifornavigation); + } + request.setAttribute(DontDispatchOnForwardAttributeVoter.DONT_DISPATCH_ON_FORWARD_ATTRIBUTE, Boolean.TRUE); // force magnolia multipart handler @@ -180,6 +194,7 @@ protected synchronized RequestProcessor getRequestProcessor(ModuleConfig config, ServletContext servletContext, ActionServlet dispatcher) throws ServletException { + return ((MgnlStrutsServlet) dispatcher).getRequestProcessor(config); } } Modified: trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/taglib/MgnlFormTag.java =================================================================== --- trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/taglib/MgnlFormTag.java 2009-02-19 11:53:22 UTC (rev 1033) +++ trunk/openutils-mgnlstruts11/src/main/java/it/openutils/mgnlstruts11/taglib/MgnlFormTag.java 2009-02-19 12:07:29 UTC (rev 1034) @@ -83,13 +83,7 @@ if (pageUri != null) { results.append(pageUri); - - String anchor = actionUrl; - if (StringUtils.contains(anchor, "/")) - { - anchor = StringUtils.substringAfterLast(anchor, "/"); - } - results.append("#" + anchor); + results.append("#" + actionUrl); } results.append("\""); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |