jsp 中是否可以实现把同一个文件的一部分内容放在一个 IFRAME 里面? 如何实现?

xmwgp 2002-06-13 01:07:41
我网页的数据是从数据库中取来的,很多字段,数据也很多,所以想在网页中添加 IFRAME ,使左边第一列,表头信息固定,其它数据放在IFRAME中 ,但希望不要再做一个文件,因为那工作量也要增加很多,不知道有什么办法?
...全文
47 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmwgp 2002-06-14
  • 打赏
  • 举报
回复
谢谢 emu(ston) , 你的例子是可以把 数组的数据放到 iframe 里面.

再请问一下 , 怎么 javascript 里面得到 数据库取出的数据 :

<td width="60" align="right"><%=(sqlRst.getString(2)%></td>

还有 , 能否把 <td> ... </td> 的内容直接输出到 iframe 里面?
我的报表可能有 40 列 x 300 行, StringBuffer 可以支持这么多数据吗?
我在 javascript 找不到 document.body.innerHTML , 能帮我解释一下吗?
谢谢.
emu 2002-06-13
  • 打赏
  • 举报
回复
呵呵,我发现自己怎么写都是jscript风格啊,没治了。
cqxhhe 2002-06-13
  • 打赏
  • 举报
回复
emu(ston) :数据量大的时候,你就会知道StringBuffer的好处

嗯 这个当然 java处理String 加法时 是转化为StringBuffer进行的

呵呵 谢谢
emu 2002-06-13
  • 打赏
  • 举报
回复
数据量大的时候,你就会知道StringBuffer的好处
emu 2002-06-13
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<TABLE>
<TR id=tr1 align=center>
<TD>
</TD>
<TD>
</TD>
<TD>
</TD>
</TR>
<TR>
<TD colspan=3>
<iframe name="iframe1" id="iframe1"></iframe>
</TD>
</TR>
</TABLE>
<button onclick="transact()">test</button>
<SCRIPT LANGUAGE="JavaScript">
<!--
function transact()
{
<%
String [][] ar = { {"aaa","bbb","ccc"},{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} ,{"1","2","3"},{"4","5","6"},{"7","8","9"} };
for (int i=0;i<ar[0].length;i++)
{
out.println("tr1.children["+i+"].innerText =\""+ar[0][i]+"\"");
}

StringBuffer st = new StringBuffer("<table width='100%' align=center><tbody align=center>");
for (int i=1;i<ar.length;i++)
{
st.append("<tr>");
for (int j=0;j<ar[i].length;j++)
{
st.append("<td>");
st.append(ar[i][j]);
st.append("</td>");
}
st.append("</tr>");
}
st.append("</tbody></table>");
out.println("iframe1.document.body.innerHTML=\""+st.toString()+"\"");
%>
}
//-->
</SCRIPT>

</body>
</html>
cqxhhe 2002-06-13
  • 打赏
  • 举报
回复
好像不行吧?
直接写到<iframe name="iframe1" id="iframe1"></iframe>中间??
我不会写阿
我都是用 scr=""
emu 2002-06-13
  • 打赏
  • 举报
回复
呵呵,这个最好搞定了嘛,写到 <% ...... %> 的外面啊。
cqxhhe 2002-06-13
  • 打赏
  • 举报
回复
得到数据好说
显示到<iframe name="iframe1" id="iframe1"></iframe>里
用JSP 怎么写呢?
emu 2002-06-13
  • 打赏
  • 举报
回复
数据量大的时候,还是用jsp好些,可以用stringbuffer做append。我试过在客户端做大量的字符串加法,比把它们直接下载下来慢多了,数据量上了几百k的时候浏览器还提示我停止javascript运行,有时干脆就死机。应该是javascript沿用了java那个效率底下的字符串加法造成的。
emu 2002-06-13
  • 打赏
  • 举报
回复
唉,这阵子写惯了jscript。
用jsp写就不是这个风格了,ar可以不要,生成st的那一端可以直接用java写出来。
反正都一样,交给客户端做,也有它自己的好处
emu 2002-06-13
  • 打赏
  • 举报
回复
呵呵看看这个怎么样?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<TABLE>
<TR id=tr1 align=center>
<TD>
</TD>
<TD>
</TD>
<TD>
</TD>
</TR>
<TR>
<TD colspan=3>
<iframe name="iframe1" id="iframe1"></iframe>
</TD>
</TR>
</TABLE>
<button onclick="transact()">test</button>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar = [ ["aaa","bbb","ccc"],[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ,[1,2,3],[4,5,6],[7,8,9] ]
//这是要显示的数据,从服务器端生成
function transact()
{
for (var i=0;i<ar[0].length;i++)
{
//显示表头
tr1.children[i].innerText = ar[0][i];
}
var st = "<table width='100%' align=center><tbody align=center>";
for (var i=1;i<ar.length;i++)
{
st +="<tr>"
for (var j=0;j<ar[i].length;j++)
{
st += "<td>"+ar[i][j]+"<td>"
}
st +="</tr>"
}
st += "</tbody></table>"
iframe1.document.body.innerHTML = st;

}
//-->
</SCRIPT>

</body>
</html>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧