<!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>