<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
This patch allows redirect parameters pointed to resource defined in
workspace as External link, to target page.<br>
<br>
OpenCMS 6.0 alpha 3<br>
<br>
Class:org.opencms.loader.CmsPointerLoader<br>
<br>
    /**<br>
     * @see
org.opencms.loader.I_CmsResourceLoader#load(org.opencms.file.CmsObject,<br>
     *      org.opencms.file.CmsResource,
javax.servlet.http.HttpServletRequest,<br>
     *      javax.servlet.http.HttpServletResponse)<br>
     */<br>
    public void load(CmsObject cms, CmsResource resource,<br>
            HttpServletRequest req, HttpServletResponse res)<br>
            throws IOException, CmsException {<br>
        String pointer = new String(CmsFile.upgrade(resource, cms)<br>
                .getContents());<br>
        if (pointer == null || "".equals(pointer.trim())) {<br>
            throw new CmsLoaderException("Invalid pointer file "<br>
                    + resource.getName());<br>
        }<br>
<b>        res.sendRedirect(pointer + appendRequestParameters(req));</b><br>
    }<br>
<br>
<b>    /**<br>
     * @param req<br>
     * @return<br>
     */<br>
    private String appendRequestParameters(HttpServletRequest req) {<br>
        StringBuffer sb = new StringBuffer();<br>
        Enumeration e = req.getParameterNames();<br>
        if (e.hasMoreElements()) {<br>
            sb.append("?");<br>
        }<br>
        while (e.hasMoreElements()) {<br>
            String paramName = (String) e.nextElement();<br>
            String paramValue = req.getParameter(paramName);<br>
<br>
            sb.append(paramName).append("=").append(paramValue);<br>
            if (e.hasMoreElements()) {<br>
                sb.append("&");<br>
            }<br>
        }<br>
        return sb.toString();<br>
    }<br>
</b><br>
</body>
</html>