有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java窗口。位置和窗口。公开问题

我似乎无法解决这个问题

最初,JSP代码在Javascript中有一个函数,可以从另一台服务器调用JSP:

window.open("<%= otherServer %>/ourreports/Company/fooreport.jsp?index"+index,"Foo",options);

其中otherServer是本地服务器(http://192.168.4.40:8080) 这工作很好,并将弹出一个新窗口与fooreport。jsp

现在的任务是指向同一服务器中的jsp。 所以,我把它改成了

window.open("/reports/Company/fooreport.jsp?index"+index,"Foo", options);

我会得到一个下载文件的弹出窗口,而不是一个页面

我还尝试做了以下所有工作:

window.location = "/reports/Company/fooreport.jsp?index="+index;
window.location.href = "/reports/Company/fooreport.jsp?index="+index;
window.location = "http://localhost:9080/reports/Company/fooreport.jsp?index="+index;
window.location.href = "http://localhost:9080/reports/Company/fooreport.jsp?index="+index;

我仍然可以下载fooreport。jsp到我的计算机

jsp格式良好,包含DOCTYPE、标记和<;%@页面声明。。。它本质上与以前调用的jsp相同

我使用的是WebSphere7.5.4,java是1.5


共 (2) 个答案

  1. # 1 楼答案

    问题在于JSP。 用窗口打电话。位置和窗口。open在其他JSP中运行良好

    问题出在“<;%page”声明中。 我删除了它们,所以记不清了,但这与内容类型和ISO设置有关。 我把它们都去掉了,只留下了“<;%page import”声明,现在它可以正常工作了

  2. # 2 楼答案

    如果响应的Content-Disposition头被设置为Attachment,那么window.location应该可以工作

    response.setHeader("Content-Disposition", "attachment; filename=yourfile.ext");
    

    值得注意的是,在JSP中这样做是个坏主意。如果响应涉及二进制数据,JSP可能会损坏它。在Servlet中完成这项工作。JSP是用来写模板文本的,not是用来写Java代码的