问题描述
我正在尝试使用同时使用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 (将#修改为@)