为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中打开带有锚点的URL?

如何在Java中打开带有锚点的URL?

湖上湖 2022-09-14 16:00:29
我想在我的项目中添加文档。通过单击F1,我在某个位置打开文档(对于文档,我有1个文件(索引.htm))。但是,我无法打开带有锚点的URL。我已经形成了正确的URL,但是.browse()打开没有锚点的文档(在开头)。public void openHtmlDocument() throws IOException, URISyntaxException {     ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();     File file = new File(servletContext.getRealPath("/documentation/index.htm"));     URL url = new URL(file.toURI().toURL(), "#_Toc502051959");     Desktop.getDesktop().browse(url.toURI()); }我该如何解决这个问题?其他答案对我来说并不实际,因为用户使用Windows或Linux。形成的 URI:文件:/D:/app/wildfly-13.0.0.最终/独立/tmp/vfs/部署/部署545477ea955f6f3d/mainUI-1.2.14.0.war-7f1f239336b4e258/文档/索引.htm#_Toc502051959打开后的浏览器网址:
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

这真的很痛苦。桌面.浏览不适用于锚点,如这里所讨论的:如何从Java启动带有锚点的文件协议URL?该链接提供了窗口的可能解决方法。

使用Linux,您可以通过执行以下命令来打开网址:

Runtime.exec("open file:/D:/app/wildfly-13.0.0.Final/standalone/tmp/vfs/deployment/deployment545477ea955f6f3d/mainUI-1.2.14.0.war-7f1f239336b4e258/documentation/index.htm#_Toc502051959");



查看完整回答
反对 回复 2022-09-14
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

解决我的问题,如果突然有人遇到同样的问题:


    String menuNameNotBlanked = menuName == null ? "" : menuName.replace(" ","_");

    String formPathNotBlanked = formPath == null ? "" : formPath.replace(".xhtml","").replace("/","_");

    String helpPath = ((ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext()).getRealPath(HELP_FILE_PATH);


    HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();

    URL contextURL = new URL(request.getScheme(),request.getServerName(),request.getServerPort(),request.getContextPath());

    URL helpURL = new URL(contextURL.toString()+ "/" + HELP_FILE_PATH + AddLeadString(menuNameNotBlanked+formPathNotBlanked,"#"));

    RequestContext.getCurrentInstance().execute("window.open('" + helpURL + "')");



查看完整回答
反对 回复 2022-09-14
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信