JSoup和JSF...我正在丢失当前对象/生成的新会话

问题描述

我正在尝试使用同时使用JSoup的OpenHtml2PDF创建PDF。 PDF正在呈现并且正在运行。

我的主要问题是,JSoup将生成一个新会话,但是我需要一个现有的会话,因此我可以使用已经填充的对象。 此外,我的XHTML当前必须位于公共目录中,因为在JSoup连接期间它将生成一个新的Session,但是没有任何登录用户-因此它不能位于安全目录中(只能访问登录用户

在这里,我将创建JSoup文档:

/**
     * Parsen XHTML
     * 
     * @param urlStr
     * @param timeoutMs
     * @return
     * @throws IOException
     */
    public Document html5ParseDocument(String urlStr,int timeoutMs) throws IOException {
        
            FacesContext facesContext = FacesContext.getCurrentInstance();
            ExternalContext externalContext = facesContext.getExternalContext();

            String serverName = externalContext.getRequestServerName();
            String port = String.valueOf(externalContext.getRequestServerPort());
            String appName = externalContext.getRequestcontextpath();
            String protocol = externalContext.getRequestScheme();

            String jsfPage = "myPage.xhtml";        
            HttpSession session = (HttpSession) externalContext.getSession(true);

            String url = protocol + "://" + serverName + ":" + port + appName + "/common/" + jsfPage
                    + ";jsessionid=" + session.getId().toString()
                    + "?documentDesignerId=" + 123456789" 
                    ;

        URL url = new URL(urlStr);
        org.jsoup.nodes.Document doc;
              
        
        doc = Jsoup.parse(url,timeoutMs);
        
        // Should reuse W3CDom instance if converting multiple documents.
        return new W3CDom().fromJsoup(doc);
    }

会话将在以下位置生成: doc = Jsoup.parse(url,timeMs);

任何想法我怎么能: a)将现有会话与当前对象一起使用 b)相同的会话,因此JSoup不会生成新的会话,因此我的XHTML文件也可以位于受保护的目录中(仅对登录用户可见)。

非常感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)