为什么传到Bean里面的中文这么难搞定呀?

pantao2003 2004-05-06 11:30:34
我的配置:win2003+tomcat5+j2sdk1.4+msserver2000
我有一个bean ,假设为a.java
有一个属性:name

通过一个页面传递一个请求参数name过去,
然后在接受请求页面用<jsp:useBean id="userinfo" class="bb.a" scope="request">
<jsp:setProperty name="userinfo" property="name"/>
</jsp:useBean>

假设我传过去的是"北京",我在页面用out.print(userinf.getName());输出为"北京",可是却发现其他运算结果却表明userinfo.name!="北京",于是如果我在Bean里面加了一个方法:
public boolean test()
{
return this.name=="北京";
}
然后页面:out.print(userinfo.test());结果为false;
这只是个例子,关键是我要查询数据库,传递参数就有这个问题,
急,昨晚一晚上没有搞定。多谢先了。
...全文
54 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pantao2003 2004-05-07
  • 打赏
  • 举报
回复
没办法,最后还是做一个字符串转换函数,这样也太麻烦了哟
多谢各位的帮助!
holy_phoenix 2004-05-06
  • 打赏
  • 举报
回复
在JSP中加上这几行代码试一试。不要用别的字符集操作了。
<%@ page contentType="text/html;charset=gb2312" %>
<%request.setCharacterEncoding("GB2312");%>
pantao2003 2004-05-06
  • 打赏
  • 举报
回复
哦,不好意思,刚才写错了,我是用的this.name.equals("北京");结果是一样的。
lhbf 2004-05-06
  • 打赏
  • 举报
回复
字符串比较不能用“==”,“!=”等
而要用equals
pantao2003 2004-05-06
  • 打赏
  • 举报
回复
好的,我再照两位的试一下,我最先用gb2312做了一个filter,也是不行
请问lhbf(牧野):使用utf-8配合字符集filter怎么操作呀?
lhbf 2004-05-06
  • 打赏
  • 举报
回复
我认为使用utf-8配合字符集filter是解决字符问题的一个比较可行的办法。
yaomengqiushui 2004-05-06
  • 打赏
  • 举报
回复
具体情况可能不同,单关键是进行一下编码转换就会OK了
yaomengqiushui 2004-05-06
  • 打赏
  • 举报
回复
duty为所获得的字符串:

String duty=request.getParameter("duty");
duty=new String(duty.getBytes("ISO-8859-1"),"GBK");
pantao2003 2004-05-06
  • 打赏
  • 举报
回复
还是不行的呀,这是怎么回事,中文一传到bean里面后编码是什么有哪位知道吗?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧