注册 登录
编程论坛 J2EE论坛

表格输出问题,有点意思!!

wolfcool 发布于 2007-05-25 22:01, 1143 次点击
我想用jsp按如下输出怎么弄啊
姓名 下一个姓名
下一个姓名 ........
也就是输出两个姓名后再换行.搞了半天总是达不到这效果,特讨教!!
15 回复
#2
NiceGirl2007-05-25 23:29
回复:(wolfcool)表格输出问题,有点意思!!
没明白你说什么
#3
wolfcool2007-05-25 23:36
晕了怎么还没有明白了
看表格应该知道了啊
#4
NiceGirl2007-05-26 00:07
最好用两个真实姓名代替,不然不懂你在说什么,是不是表格就是你想实现的效果?
#5
谁与争疯2007-05-26 00:18


你要理解HTML的表格标签代码。<tr>是 行 <td>是列
你要这样输出!

<table border=1>

<tr> //行开始
<td> / /第一行的第一列
姓名
</Td>
<td> //第一行的第二列
下一个姓名
</td>
</tr> //这里就结束一行了。



<tr> //第二行开始
<td> //第二行第一列
下一姓名
</Td>
<td> //第二行第二列
下一个姓名
</td>
</tr> //这里就结束一行了。
</table>

其实呢,可以用JSP的一个循环来循环输出数据直至末尾。即循环输出 一行、二列

[此贴子已经被作者于2007-5-26 0:20:50编辑过]

#6
angeloc2007-05-26 09:41
[CODE]
给你点代码提示吧,假设info[]是你想输出的字符数组
<table>
<tr>
<%
for(int i=0;i<info.length;i++)
{
%>
<td><%=info[i]%></td>
<%
if( ((i+1)%2==0) && i!=info.length-1 )
{
%>
</tr><tr>
<%
}
else if( i==info.length-1 )
{
if( info.length%2==0 )
{
%>
</tr>
<%
}
else
{
%>
<td>&nbsp;</td>
</tr>
<%
}
}
}
%>
</table>
[/CODE]
#7
wolfcool2007-05-27 23:58
我这代码我以前也用过,不过我觉得有点麻烦
#8
wolfcool2007-05-28 00:55
<table width="200" border="1">
<%
if (sp.next()) {
sp.previous();
while(sp.next()){
%>
<tr>
<td><%=sp.getString("productname")%></td>
<%if (sp.next()){%>
<td><%=sp.getString("productname")%></td>
</tr>
<%}
}
   }
%>

</table>
我又想了下这样可以实现效果!

[此贴子已经被作者于2007-5-28 0:57:07编辑过]

#9
angeloc2007-05-28 12:07

你这个代码是有缺陷的!而且可读性差!

#10
angeloc2007-05-28 16:33
以下是引用wolfcool在2007-5-28 0:55:41的发言:
<table width="200" border="1">
<%
if (sp.next()) {
sp.previous();//这里这样写很不规范,是有其他方法判断是否有数据的,没必要前进后回退.
while(sp.next()){
%>
<tr>
<td><%=sp.getString("productname")%></td>
<%if (sp.next()){%>
<td><%=sp.getString("productname")%></td>
</tr>

这里的代码,如果数据集是单数的话会造成表格错位的.

<%}
}
   }
%>

</table>
我又想了下这样可以实现效果!

#11
wolfcool2007-05-28 16:36
表格错位我是知道的,可以输个空列解决;
if (sp.next()) {
sp.previous();//这里这样写很不规范,是有其他方法判断是否有数据的,没必要前进后回退.这句就不明白了?
#12
angeloc2007-05-28 17:01
如果SP是结果集的话,你需要这样来判断结果集是否为空!
if (sp.isBeforeFirst())
{
//具体代码
}
#13
wolfcool2007-05-28 19:45

晕了,我看几本书都没有这样判断记录集是否为空,难道写书的都是菜鸟

#14
angeloc2007-05-29 09:21
读书不能尽新书,要自己去实践,你最好多看看JDK帮助文档!
#15
黑白不分2007-08-17 11:46
你先判断数据库连接和有没有查询结果.然后在输出到表格.
1
<%out.println("<table border=1>")
out.println("<tr>")
out.println("<td>")
out.println("数据库查询的内容")
out.println("</td>")
out.println("</tr>")
out.println("</table>")
2
<table border="1">
<tr>
<td>
<%=数据库查询的内容%>
</td>
</tr>
</table>
#16
duc19852007-08-17 13:42

为什么到现在大家还在用<% %>
没有标签?

实现方法:
用标签可以设个序号。判断序号如果用偶数就加个<tr>
输完内容后再加个</tr>

1