再提关于使用Struts的frameset的问题.

05-01-14 expeditioner
我有个页面用了frameset,在第一次打开页面时,三个frame总是显示同一个页面,这个页面是frame中page指定的,再刷新后就正常了,使用frameset的页面代码如下:

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>无标题文档</title>
</head>
<html:form action="/stqh.do">
<frameset cols="25,*" frameborder="NO" border="0" framespacing="0">
    <html:frame page="/stqh.do?action=rcap&page=page1" frameName="leftFrame" frameborder="no" scrolling="NO" marginwidth="0" />
  <frameset rows="65,*" frameborder="NO" border="0" framespacing="0">
    <html:frame page="/stqh.do?action=rcap&page=page2" frameName="topFrame" scrolling="NO" />
    <html:frame page="/stqh.do?action=rcap&page=framepage" frameName="main" frameborder="no" marginwidth="0" />
  </frameset>
</frameset>
</html:form>
<noframes>
<body>
</body>
</noframes>
</html>
<p class="indent">

frame的page指定通过StqhAction确定显示哪个页面(StqhAction根据传递的参数来确定),所有frame显示页面方法都一样,frame都是通过同一个Action即StqhAction来确定显示哪一个页面.
***问题*** :第一次打开这个使用frameset的页面时,三个frame都显示名为main的frame中应该显示的页面,但偶尔也会在名为leftFrame的frame中显示应该在topFrame中显示的页面,图片如下


我想frameset是html的标签,而html:frame是Struts的,请问是不是它们不能在一起使用,所以才会出现上述错误呢?
为什么第一次显示时多个frame都显示同一个页面,而再次刷新就正常了呢?
困扰多天,请各位帮忙。