Java 在jsp中单击超链接时未打开日志文件
我们已经构建了一个java程序,在该程序中,一个进程开始并开始将日志输入到一个日志文件中,该文件始终保存在同一位置。每次流程开始时,将生成一个新的日志文件,其名称中带有时间戳(例如:process_16-11-2013-11-11.log、process_16-11-2013-13-56.log)。流程一结束,我们就在jsp上向用户显示一个超链接。此链接包含日志文件的路径。用户可以单击此链接查看日志文件Java 在jsp中单击超链接时未打开日志文件,java,html,jsp,Java,Html,Jsp,我们已经构建了一个java程序,在该程序中,一个进程开始并开始将日志输入到一个日志文件中,该文件始终保存在同一位置。每次流程开始时,将生成一个新的日志文件,其名称中带有时间戳(例如:process_16-11-2013-11-11.log、process_16-11-2013-13-56.log)。流程一结束,我们就在jsp上向用户显示一个超链接。此链接包含日志文件的路径。用户可以单击此链接查看日志文件 <% HashMap bundleDetails = new HashMap(); S
<%
HashMap bundleDetails = new HashMap();
String bundleCommonLocation = prop.getProperty("bundleCommonLocation");
bundleDetails.put("currentLogFileName", bundleCommonLocation + "propagateBundle_"+dateFormat(startDatedt)+".log");
%>
<div id="fileLink">
<a target="_blank" href="<%=bundleDetails.get("currentLogFileName") %>">Click here to view log file</a>
</div>
在上述代码中
道具属性
正在从属性文件获取值。当我指向超链接时,我可以看到格式良好的超链接。如果我点击它,什么也不会发生。页面停留在它所在的位置。我试图通过右键单击并选择适当的选项在新窗口中打开它,但这也不起作用。奇怪的是,如果我右键单击并选择“复制链接地址”,然后将其粘贴到一个新选项卡中,然后按Enter键,日志文件将正确打开。
值得注意的几点:
编辑
只是澄清一下,tomcat服务器位于远程机器上,用户正在本地机器上运行程序。在向用户显示超链接之前,我们成功地将日志文件从tomcat机器复制到用户特定的本地机器,并且此超链接尝试打开位于此用户特定的本地机器上的文件
用户是否总是在运行tomcat服务器的同一台机器上?如果没有,您将无法在href中放置文件的路径。即使如此,您仍然应该在href值前面加上
file://
@Tap谢谢Tap。用户与tomcat位于不同的机器上,但在显示超链接之前,我已将日志文件从远程tomcat运行机器复制到用户特定的本地机器。我试过你的建议,但没有成功。正在更新我的问题中的日志文件位置信息。谢谢你指出这一点!!