日期:2014-05-17  浏览次数:20988 次

提交表单后,老是出现JSP异常
思路:在提交表单后,利用request对象的方法读取请求的参数。

当利用request的方法读取到参数了以后,其中读取出来了颜色后,将颜色赋值给一个String类型的color数组。

问题出在:输出这个color数组的元素时,就出现了异常。

Java code
  
您喜欢的颜色: <%for(String c:color) {out.println(c+" ");}%><hr>



老是在提示有异常,望看官赐教!

Java code

<%@ page contentType = "text/html; charset=gb2312" language="java" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <HEAD>
    <TITLE>request测试</TITLE>
  </HEAD>
  <BODY>
    <%
    // 设置解码方式,对于中文,使用GBK 解码
    request.setCharacterEncoding("GBK");
    // 下面依次获取表单域的值
    String name = request.getParameter("name");
    String gender = request.getParameter("gender");
    
    String[] color = request.getParameterValues("color");
    String national = request.getParameter("country");
    %>
    
    <!-- 下面依次输出表单域的值 -->
    您的名字: <%=name%><hr>
    您的性别: <%=gender%><hr>
    <!-- 输出复选框获取的数组值 -->
    您喜欢的颜色: <%for(String c:color) {out.println(c+" ");}%><hr>
    您来自的国家: <%=national%><hr>
  </BODY>
</HTML>





------解决方案--------------------
你可以试着只输出其中的一种颜色:color[0]
还有就是:String[] color = request.getParameterValues("color");
这行代码貌似还需要经过一个特殊的处理吧 不能直接输出。。。。
------解决方案--------------------
1L正解,从request里取出来默认是String类型,需要转型