一个html页面中有两块框架frame,包含两个jsp页面,如下图:
<frameset name=mainFrameSet rows="25%,75%" frameborder="no" border="0" framespacing="0"> <frame src="a.jsp" name="selectStoreFrame" scrolling="auto">
<frame src="b.jsp" name="storeinfoFrame" scrolling="auto">
</frameset>a.jsp是设置查询条件页面,然后单击查询按钮 b.jsp显示查询结果,查询按钮怎么写,才能够保证当前html包含的两个jsp页面,a.jsp不变化,b.jsp页面刷新显示查询结果啊
<frameset name=mainFrameSet rows="25%,75%" frameborder="no" border="0" framespacing="0"> <frame src="a.jsp" name="selectStoreFrame" scrolling="auto">
<frame src="b.jsp" name="storeinfoFrame" scrolling="auto">
</frameset>a.jsp是设置查询条件页面,然后单击查询按钮 b.jsp显示查询结果,查询按钮怎么写,才能够保证当前html包含的两个jsp页面,a.jsp不变化,b.jsp页面刷新显示查询结果啊
frameA:a.jsp查询条件存入session中,页面提交还是返回a.jsp,同时刷新frameB里的页面要js控制FrameB:b.jsp加载时从session取条件查询输出结果
<button onclick="javascript: window.parent.frames['storeinfoFrame'].location.href='classify!listClassify.action';"
>查询按钮</button>
蓝色部分是你要显示查询结果的页面的frame名字,红色部分是你要进行数据库查询的action或是连接。
这样就能达到你想要的结果
我寫了6個JSP樓主你看看,我已經測試過了。index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<frameset rows="20%,*" cols="*" frameborder="YES" border="1" framespacing="1" >
<frame src="top.jsp" name="topFrame" scrolling="NO" noresize>
<frameset rows="*" cols="15%,*" framespacing="1" frameborder="NO" border="1" >
<frame id="leftFrame" src="left.jsp" name="leftFrame" scrolling="NO" noresize>
<frame id="rightFrame" src="right.jsp" name="rightFrame">
</frameset>
</frameset>
<body>
</body>
</html>
top.jsp<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<script>
window.parent.frames['leftFrame'].location.reload();
window.parent.frames['rightFrame'].location.reload();
</script>
<body bgcolor="#99CC99">
<h1></h1><a href="exit.jsp">退出</a>
</body>
</html>
left.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<script type="text/javascript">
window.parent.frames['rightFrame'].location.reload();
</script>
<body bgcolor="#cccccc">
<%
if(session.getAttribute("user")!=null){
out.println("歡迎您:"+(String)session.getAttribute("user")+" 閣下");
}else{
%>
<form action="op.jsp" method="post">
用戶名:<input type="text" name="username"/><br>
密  碼:<input type="password" name="password"/><br/>
<input type="submit" value="提 交"/>
</form>
<%
}
%>
</body>
</html>
exit.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
session.invalidate();
response.sendRedirect("top.jsp");
%>
right.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#aaabbb">
<%
out.println((String)session.getAttribute("user")==null?"":(String)session.getAttribute("user"));
%>
</body>
</html>op.jsp<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String userName=request.getParameter("username");
String pwd=request.getParameter("password");
if(userName!=null && pwd!=null){
if("zhuchao".equals(userName)&&"zhuchao".equals(pwd)){
session.setAttribute("user","zhuchao");
response.sendRedirect("left.jsp");
}else{
out.println("<script>alert('用戶名或密碼錯誤!');<script>");
response.sendRedirect("left.jsp");
}
}
%>ps:原理其實很簡單,每次你在其中一個頁面里操作的時候,當后臺跳轉到前臺,前臺必然刷新一次
此時刷新其它相關的頁面即可。