在login.jsp页面中的部分代码:<%  JobBean jBean=new JobBean();
    List list=(List)jBean.getData(new JobItem());
    
%>
<center>
<table border=1>  <tr><td>职    位</td>
      <td>工作类别</td>
      <td>招聘人数</td>
      <td>发布日期</td>
  </tr>
  
<%  for(int i=0;i<list.size();i++){
   JobItem item=(JobItem)list.get(i);
%>
  <tr>
   <td><%= "<a href=\"openshow.jsp?id="+  item.getJobId()  +"&amp;"+
                "name="+item.getJobName()+"&amp;"+
                    "type="+item.getType()+"&amp;"+
                    "date="+item.getDate()+"&amp;"+
                    "num="+item.getNum()+"&amp;"+
                    "wordTime="+item.getWorkTime()+"&amp;"+
                    "language="+item.getLanguage()+"&amp;"+
                    "pay="+item.getPay()+"&amp;"+
                    "degree="+item.getDegree()+"&amp;"+
                    "resumeLang="+item.getResumeLang()+"&amp;"+
                    "jobRequest="+item.getJobRequest()+"\">"+item.getJobName()+"</a> "%></td>
   <td><%=item.getType() %></td>
   <td><%=item.getNum() %></td>
   <td><%=item.getDate() %></td>
   
  </tr>
<%
    }
%></table>
在openshow.jsp页面中的部分代码:
<%
 request.setCharacterEncoding("gb2312");
 String jobId=request.getParameter("id");
 String jobName=request.getParameter("name");
 String type=request.getParameter("type");
 String date=request.getParameter("date");
 String num=request.getParameter("num");
 String workTime=request.getParameter("workTime");
 String language=request.getParameter("language");
 String pay=request.getParameter("pay");
 String degree=request.getParameter("degree");
 String resumeLang=request.getParameter("rsumeLang");
 String jobRequest=request.getParameter("jobRequest");
%>
错误是:1.文字的乱码显示
        2.resumeLang和jobRequest为空
请问各位高手这是怎么回事?

解决方案 »

  1.   

    <%@ page contentType="text/html;charset=GB2312" %> //文字的乱码显示在文件头部加上看看
      

  2.   

    "<a href=\"openshow.jsp?id="+  item.getJobId()  +"&amp;"+
                    "name="+item.getJobName()+"&amp;"+
                        "type="+item.getType()+"&amp;"+
                        "date="+item.getDate()+"&amp;"+
                        "num="+item.getNum()+"&amp;"+
                        "wordTime="+item.getWorkTime()+"&amp;"+
                        "language="+item.getLanguage()+"&amp;"+
                        "pay="+item.getPay()+"&amp;"+
                        "degree="+item.getDegree()+"&amp;"+
                        "resumeLang="+item.getResumeLang()+"&amp;"+
                        "jobRequest="+item.getJobRequest()+"\">"+
    这一段里面“"resumeLang="+item.getResumeLang()+"&amp;"+
                        "jobRequest="+item.getJobRequest”这两个参数传过去是不是空呢?如果是空的话,下个页面request.getParameter("para")当然是空的拉。
      

  3.   

    <%  for(int i=0;i<list.size();i++){
       JobItem item=(JobItem)list.get(i);System.out.println("resumeLang="+item.getResumeLang());
    System.out.println("jobRequest="+item.getJobRequest());%>
    打印出这两个值看看,就知道为什么下面页面取值为空拉
      

  4.   

    有亂碼就要轉碼咯
    num = new String(request.getParameter("num").getBytes("iso-8859-1")
      

  5.   

    weichenggao(一万年太久,只争朝夕) 
    你说的那个我看过了,他们的值有的时候取的空的,有的时候是有值的
    而且当他们为空的时候,是因为倒数第三个参数把数据接收过去了
    不知道这又是为什么啊?
      

  6.   

    如果我在代码的第一段就写下
    request.setCharacterEncoding("gb2312");
    这样的话,还用转码吗?
      

  7.   

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    加上这段.就会解决中文显示页面乱码问题