免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3324 | 回复: 14
打印 上一主题 下一主题

jsp代码的问题出在那里? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-25 09:29 |只看该作者 |倒序浏览
2个文件
index.htm代码如下:
<html>
<title>this hspgj home!</title>
<table width="18%" border="2" cellpadding="0" cellspacing="0">
  <tr>
    <td width="39%"><div align="center"><font size="2">姓名:
        </font></div></td>
    <td width="61%">
        <div align="center"><font size="2">
         
        <input name="name" type="text"  size=10>
          </font></div>
      </td>
  </tr>
  <tr>
    <td height="74"><div align="center"><font size="2">爱好:</font></div></td>
    <td>
        <div align="center"><font size="2">
          <select name="hobby" size="5" multiple>
            <option>1111111111
            <option>2222222222
            <option>3333333333
            <option>4444444444
            <option>5555555555
            <option>6666666666
          </select>
          </font></div>
      </td>
  </tr>
  <tr>
    <td colspan="2"><form action="test.jsp" method="post">
        <div align="center"><font size="2">
          <input type="submit" value="提交">
          </font></div>
      </form></td>
  </tr>
</table>
<p>&nbsp;</p></html>


test.jsp代码如下:
<HTML>
<BODY>
<%
String name=request.getParameter("name");
String hobby[]=request.getParameter Values("hobby");
out.print("姓名:" +name+ "<p>");
out.print("爱好:");
for(int i=0; i<hobby.length; i++)
out.print(hobby[i]+ ".");
%>
</BODY>
</HTML>



最后提示出错,是什么地方错了呢?

论坛徽章:
0
2 [报告]
发表于 2005-11-26 00:32 |只看该作者
request.getParameter Values("hobby");  ???

还是
request.getParameterValues("hobby");  为什么中间有空格啊

论坛徽章:
0
3 [报告]
发表于 2005-11-28 09:31 |只看该作者

多打了一个

我修改了还是出错

论坛徽章:
0
4 [报告]
发表于 2005-11-28 09:53 |只看该作者

<form></form>位置错了

!!!!!!!!!!!!!!!!!!!!!!!!无语

论坛徽章:
0
5 [报告]
发表于 2005-11-28 10:33 |只看该作者
想问一下 你那个String hobby[]=request.getParameter Values("hobby");
hobby[]有值吗?
如果hobby[]没有值,在java中如果对空值(即hobby=null)时用.length属性就会出错。
自己再看一下吧!

论坛徽章:
0
6 [报告]
发表于 2005-11-28 10:40 |只看该作者
报啥错呀?

帖出错误.

论坛徽章:
0
7 [报告]
发表于 2005-11-28 10:41 |只看该作者
你的那个<form></form>标签所包括的范围不对,hobby跟本不在此标签内,所以根本传不到test.jsp页面。所以出错.在test.jsp中所取得的hobby=null,而你又对其想获取其length属性,这样是不行的,所以出错!!!

论坛徽章:
0
8 [报告]
发表于 2005-11-28 10:52 |只看该作者
还有
<select name="hobby" size="5" multiple>
            <option>1111111111
            <option>2222222222
            <option>3333333333
            <option>4444444444
            <option>5555555555
            <option>6666666666
          </select>
怎么里面都没有一个属性selected="true" ,传过去的也是空值啊。
所以还得至少有一项selected="true"啊

论坛徽章:
0
9 [报告]
发表于 2005-11-28 10:57 |只看该作者
String hobby[]=request.getParameter Values("hobby");

改成:
String hobby=request.getParameter("hobby");



         <select name="hobby" size="5" multiple>
            <option>1111111111
            <option>2222222222
            <option>3333333333
            <option>4444444444
            <option>5555555555
            <option>6666666666
          </select>

option应该有value设置

比如
         <select name="hobby" size="5" multiple>
            <option value="1111111111">1111111111
            <option value="2222222222">2222222222
            <option value="3333333333">3333333333
            <option value="4444444444">4444444444
            <option value="5555555555">5555555555
            <option value="6666666666">6666666666
          </select>

论坛徽章:
0
10 [报告]
发表于 2005-11-28 15:40 |只看该作者

还是报错

原帖由 knight-yl 于 2005-11-28 10:57 发表
String hobby[]=request.getParameter Values("hobby");

改成:
String hobby=request.getParameter("hobby");



         <select name="hobby" size="5"  ...

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /jsp/test/test.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\jsp\test\test_jsp.java:46: incompatible types
found   : java.lang.String[]
required: java.lang.String
String hobby=request.getParameterValues("hobby");
                                       ^


An error occurred at line: 3 in the jsp file: /jsp/test/test.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\jsp\test\test_jsp.java:49: cannot resolve symbol
symbol  : variable length
location: class java.lang.String
for(int i=0; i<hobby.length; i++)
                    ^


An error occurred at line: 3 in the jsp file: /jsp/test/test.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\jsp\test\test_jsp.java:50: array required, but java.lang.String found
out.print(hobby+ ".");
               ^
3 errors



        org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
        org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
        org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:810)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.26 logs.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP