X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=knowledge%2Forg.argeo.support.odk%2Fsrc%2Forg%2Fargeo%2Fsupport%2Fodk%2Fservlet%2FOdkFormServlet.java;h=cab562cc6465fbd462d3675bec8f7b4f2e9fda27;hb=752a7b2614895002a3d184be166ef4162caf0d05;hp=301e1bb433d9bcc52c8768829378677d6416e831;hpb=1901817b83c8e1fc3f94d3c8a801a59f52b78a84;p=gpl%2Fargeo-suite.git diff --git a/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkFormServlet.java b/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkFormServlet.java index 301e1bb..cab562c 100644 --- a/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkFormServlet.java +++ b/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkFormServlet.java @@ -3,6 +3,8 @@ package org.argeo.support.odk.servlet; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -35,11 +37,14 @@ public class OdkFormServlet extends HttpServlet { Session session = ServletAuthUtils.doAs(() -> Jcr.login(repository, null), req); String pathInfo = req.getPathInfo(); + if (pathInfo.startsWith("//")) + pathInfo = pathInfo.substring(1); boolean oldApproach = false; try { if (!oldApproach) { - session.exportDocumentView(pathInfo + "/" + OdkNames.H_HTML, resp.getOutputStream(), true, false); + String path = URLDecoder.decode(pathInfo, StandardCharsets.UTF_8); + session.exportDocumentView(path + "/" + OdkNames.H_HTML, resp.getOutputStream(), true, false); } else { String fileName = FilenameUtils.getName(pathInfo);