servlet 跳转 jsp 汉字全变 ?

[复制链接]
查看11 | 回复5 | 2011-3-26 22:30:00 | 显示全部楼层 |阅读模式

这是 b。jsp



servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
String concent=request.getParameter("concent");
System.out.println(concent);
request.setAttribute("con",concent);
request.getRequestDispatcher("c.jsp").forward(request, response);
}
c.jsp






这是c.jsp



找到了 把response.setContentType("text/html");
换成
response.setContentType("text/html; charset=gb2312");
就好了
但我不知道是为什么啊谁知道啊
为什么 在页面设置的
不好用呢
在servlet中就好用呢

回复

使用道具 举报

千问 | 2011-3-26 22:30:00 | 显示全部楼层
servlet中使用的是response对象,就是把编码的方式传到了用于显示的页面,所以就改变了和他关联的页面的编码方式!!在页面上方的是处理和这个页面中已有的汉字问题,所以效果不一样
回复

使用道具 举报

千问 | 2011-3-26 22:30:00 | 显示全部楼层
加上这个过滤器就好了 ~~~!!package filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import java
回复

使用道具 举报

千问 | 2011-3-26 22:30:00 | 显示全部楼层
加一个filter的过滤器,新建一个filter类,代码如下:package com.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterC
回复

使用道具 举报

千问 | 2011-3-26 22:30:00 | 显示全部楼层
额 不知道我回答的是否正确啊,但希望对你有帮助,我把你的代码复制了一下在myeclips中运行,如果就是按你原先的代码不改动,在myeclips中 还没运行就报错了,首先在你b.jsp中pageEncoding="ISO-8859-1"的这个设置 改成gb2134后 b页面的中文字才能用,还有就是在servlet中"request.getRequestDis
回复

使用道具 举报

千问 | 2011-3-26 22:30:00 | 显示全部楼层
你可以试试把那个 request.setCharacterEncoding("gb2312");改成 request.setCharacterEncoding("GBK");或 request.setCharacterEncoding("UTF-8");试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行