你好我是jsp / servlets的新手,我有一个关于相对或abselute路径的基本问题: 我有以下层次结构,使用netbeans:
Web Pages
| |-Status
| |-clientRequests.jsp
| |-index.jsp
| |-WEB-INF
| |-professional.jsp
index.jsp
以及根路径中的Status文件夹和WEB-INF
文件夹。
在Status文件夹中,我们有clientRequests.jsp
文件。
在WEB-INF文件夹中,我们有professional.jsp
文件。
professional.jsp
的调度,
在专业jsp里面我有<iframe src="Status/clientsRequests.jsp"></iframe>
在clientsRequests.jsp
里面我有
<%
response.setHeader("Refresh", "5;url=../index.jsp");
%>
这意味着每5秒将刷新clientsRequests.jsp
文件,然后转到index.jsp
的“控制器”。
现在我想成为每5分钟,只有iframe刷新而不是孔页。
我的问题:在第二次刷新时,它给了我404。
我试着玩那个,我做了一件丑陋的事情:
String a = (String)session.getAttribute("nav");
if(a == null){
session.setAttribute("nav", "aaa");
response.setHeader("Refresh", "5;url=../index.jsp");
}else{
response.setHeader("Refresh", "5;url=index.jsp");
}
和它的工作,但我不希望我这样离开... 你有什么建议吗? 谢谢!
答案 0 :(得分:1)
不知何故,您的回复也是为iframe的父级设置标头。将以下行放在clientsRequests.jsp。
中<meta http-equiv="refresh" content="5">
答案 1 :(得分:1)
一个替代方案是move the clientRequests.jsp to the same level as index.jsp
。
在您的代码中,您可以随时执行此操作
response.setHeader("Refresh", "5;url=index.jsp");
使用此设置的一个优点是,<iframe src="Status/clientsRequests.jsp"></iframe>
可以添加到应用程序中的任何JSP页面,并且servlet代码中没有任何更改/影响