回 帖 发 新 帖 刷新版面

主题:一个让我郁闷的问题哦!不显示内容哦!

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>留言板</title>
</head>

<body>
<%
  Vector v=(Vector)application.getAttribute("mess");
  out.print("<table border=2 >");
    out.print("<tr>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者姓名"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者标题"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言时间"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者内容"+"</td>");
    out.print("</tr>");
  for(int i=0;i<v.size();i++)
  {
     out.print("<tr>");
     String message=(String)v.elementAt(i);
     StringTokenizer fenge=new StringTokenizer(message,"#");
     out.print("<tr>");
     int fgnum=fenge.countTokens(); //返回分隔符的数目。
     for(int k=0;k<fgnum;k++)
     {
       String fgstr=fenge.nextToken();
       byte b[]=fgstr.getBytes("ISO-8859-1");
       fgstr=new String(b);
       if(k<fgnum-1)
       {
         out.print("<td bgcolor=green>"+fgstr+"</td>");
       }
       else
       {
         out.print("<td bgcolor=red><TextArea rows=3 cols=10>"+fgstr+"</textarea></td>");
       }
     }
     out.print("</tr>");
  }
  out.print("</table>");
%>
</body>
</html>



各位大哥大姐们呀!我都快郁闷死了!我编译通过了,但是它就是不显示结果哦~
请指点哦!小妹在此谢过了~

回复列表 (共3个回复)

沙发

姐姐,您多些两行注释对我读你的程序是莫大的帮助,希望你能把问题描述的清楚些,
建议你可以在for循环外面写几行out.println 你的Vector对象,还有把你的所有的循环和if的条件都输出看一下,看是不是有什么条件挡住了你的输出语句。

板凳

分析一下,显示不出内容肯定就是没执行for循环里边的东西,输出一下i<v.size()
如果是空,里边的内容肯定循环不出来,在输出一下第二个for里边的内容,看fgnum
是不是为空,如果是空,肯定显示不出任何东西。

3 楼

我做了一个简单的JSP页面,对你的代码进行了验证,没有问题。下面是我写的JSP和为了验证,对源程序的修改。

<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
t31
</title>
</head>
<body>
<h1>
JBuilder Generated JSP
</h1>
<form name="test" method="post" action="t3.jsp">
<br><br>
<input type="text" name="mess" value="123#456#567#678#">
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>留言板</title>
</head>

<body>
<%
  Vector v=new Vector();
  v.addElement(request.getParameter("mess"));
  out.print("<table border=2 >");
    out.print("<tr>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者姓名"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者标题"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言时间"+"</td>");
      out.print("<td bgcolor=cyan aglin=center>"+"留言者内容"+"</td>");
    out.print("</tr>");
  for(int i=0;i<v.size();i++)
  {
     out.print("<tr>");
     String message=(String)v.elementAt(i);
     StringTokenizer fenge=new StringTokenizer(message,"#");
     out.print("<tr>");
     int fgnum=fenge.countTokens(); //返回分隔符的数目。
     for(int k=0;k<fgnum;k++)
     {
       String fgstr=fenge.nextToken();
       byte b[]=fgstr.getBytes("ISO-8859-1");
       fgstr=new String(b);
       if(k<fgnum-1)
       {
         out.print("<td bgcolor=green>"+fgstr+"</td>");
       }
       else
       {
         out.print("<td bgcolor=red><TextArea rows=3 cols=10>"+fgstr+"</textarea></td>");
       }
     }
     out.print("</tr>");
  }
  out.print("</table>");
%>
</body>
</html>

我来回复

您尚未登录,请登录后再回复。点此登录或注册