记一次 从servlet传参数到jsp页面出现乱码问题的解决参考

rs = conn.executeQuery(sql);

   while (rs.next())
   {
    i++; // 编号加1
    p_code = rs.getString("code");
    p_name = rs.getString("name");
    p_price = rs.getDouble("price");

    id = rs.getInt("id");

    out.println("<tr>");
    out.println("<td>" + i + "</td>");
    out.println("<td>" + p_code + "</td>");
    out.println("<td>" + p_name + "</td>");
    out.println("<td>" + p_price + "</td>");
    out.println("<td><a href='EditProduct.jsp?id=" + id + "&code="
      + URLEncoder.encode(p_code, "utf-8") + "&name="
      + URLEncoder.encode(p_name, "utf-8") + "&price="
      + p_price + "'>修改</a></td>");
    out.println("<td><a href='ProductList?type=delete&code="
        + p_code
        + "' onClick='return confirm(/"你确定要删除吗?/");'>删除</a></td>");
    out.println("</tr>");
   }

 

这是一个servlet要转到'EditProduct.jsp 需要传几个参数,但是遇到中文就是老出乱码。

最后用到了URLEncoder.encode();解决了乱码的问题。思考—— java对中文的支持做的不是太完美。

下面是一个获取servlet传过来的参数的表单然后再提交到另外的一个servlet处理。

 

<form action='EditProduct?id=<%= request.getParameter("id") %>' method='post'>
以前的产品序号:<%=request.getParameter("code")%> <br>
现在的产品序号:<input type='text' name='code'><br>
以前的产品名称:<%=request.getParameter("name")%><br>
现在的产品名称:<input type='text' name='name'><br>
以前的产品单价:<%=request.getParameter("price")%> <br>
现在的产品单价:<input type='text' name='price'><br>
<input type='submit' name='submit' value='修改'>

posted @ 2009-05-26 23:05  java程序代码  阅读(158)  评论(0编辑  收藏  举报