提交前是这样的提交后是这样的
我的代码是这样的<%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>
<%@page import="Info.StudentInfo"%><%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'queryStudent.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<form action="/FirstWeb/StudentSer" method="post"> 
关键字: <input type="text" name="S_name">
<input type="submit" value="查找"> 
<input type="hidden" name="statue" value="queryStudent">
<br>
</form>
<%
ArrayList<StudentInfo> students=(ArrayList)request.getAttribute("students");
if(students!=null){
out.println(students.size());
out.println("的手术费是刚刚vvvvddd");
System.out.println("各方各个各个");
}
 %>
</body>
</html>
该怎么改呢?请大家帮帮忙哦!

解决方案 »

  1.   

    你提交后的那个page为何不指定编码呢
      

  2.   

    request.setCharacterEncoding("utf-8");
      

  3.   

    在输出前加response.setcontentType("text/html;charset=utf-8");
      

  4.   

    <form action="/FirstWeb/StudentSer" method="post"> 你是说这个吗?
    在StudentSer这个类里面我指定了编码了。
      

  5.   


    <form action="/FirstWeb/StudentSer" method="post"> 你是说这个吗?
    在StudentSer这个类里面我指定了编码了。
      

  6.   

    在StudentSer里request.setCharacterEncoding("utf-8");或者加一个统一编码格式的过滤器
      

  7.   

    HTML的meta里面指定
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      

  8.   

    你是返回到本页面的吧,servlet检查下,还有就是如果不是本页面的话,跳转的下个页面编码为utf-8,或者用struts的话,可以在struts-config.xml文件中加<constant name="struts.i18n.encoding" value="utf-8"/>,或者自己定义一个拦截器,在每个请求到来的时候,request.setcharcterEncoding("utf-8");response.setcharcterEncoding("utf-8");你试试
      

  9.   

    提交后的URL为:http://localhost:8080/FirstWeb/StudentSer
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    Studentimpl studentimpl=new Studentimpl();
    PrintWriter out=response.getWriter();
    out.println(request.getParameter("S_name"));//Parameter参数的意思
    if (request.getParameter("statue").equals("indexStudent")) {
    StudentInfo student = new StudentInfo();
    student.setS_name(request.getParameter("S_name"));
    student.setS_no(request.getParameter("S_no"));
    student.setS_like(studentimpl.joinString(request
    .getParameterValues("S_like")));
    studentimpl.saveStudent(student);
    }else if (request.getParameter("statue").equals("queryStudent")) {
    String S_name=request.getParameter("S_name");
    ArrayList<StudentInfo> students=studentimpl.queryStudent(S_name);
    //把数据从Ser传到视图页面中
    request.setAttribute("students", students);
    //页面之间跳转Ser->jsp,词跳转是工程内跳转,不能跳转到工程外
    //重定向,这个地方不用写工程名
    RequestDispatcher dispatcher=request.getRequestDispatcher("queryStudent.jsp");
    dispatcher.forward(request, response);
    }

    }
    但是还是不得啊
      

  10.   

    哈哈,我知道出现错误的原因了,是在StudentSer这个类里面
    // PrintWriter out=response.getWriter();
    // out.println(request.getParameter("sname"));//Parameter参数的意思
     * 这一句是的运行时出现乱码
     */
    还是很感谢大家的帮忙,谢谢大家了。