JSP接受不到中文值

Fishest 2008-12-23 08:48:12
各位师傅,我现在弄一个用JSP做的Music网站 但是在连接传递中文值的时候传不过来,请帮帮忙!

A.jsp 中的连接写法:
<a href="Singer/ChSinger.jsp"?type=<%=java.net.URLEncoder.encode("大陆")%>">

B.jsp 中的接受写法:

<%request.setCharacterEncoding("GB18030"); %>
<%myBean.settxtaraddress(request.getParameter(type)); %>

但是我的IDE老是提示type出错,无法识别,怎么解决!!!!!
...全文
136 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gao5528 2008-12-23
  • 打赏
  • 举报
回复
程序员在深圳java群 4247660 欢迎高手的加入
凌霄野鹤 2008-12-23
  • 打赏
  • 举报
回复
加上这个URIEncoding='gb2312'
凌霄野鹤 2008-12-23
  • 打赏
  • 举报
回复
解决办法:在tomcat的conf下的server.xml加入红色的代码!

<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='gb2312'/>
canyingwushang 2008-12-23
  • 打赏
  • 举报
回复
首先你应该确定你的myBean的实例化的,也就是new 出来的,只有这样才能调用get set方法,然后你打印一下request.getParameter("type")的值是什么应该是没有问题的,即使是乱码也不能为空啊!这都是代码级的问题了,自己静下心来好好检查一下
Fishest 2008-12-23
  • 打赏
  • 举报
回复
但是<%myBean.settxtaraddress(request.getParameter("type")); %> 这样 我的Bean接受不到传来值,断点检查出txtaraddress为NULL
Fishest 2008-12-23
  • 打赏
  • 举报
回复
<%myBean.settxtaraddress(request.getParameter("type")); %>
好像可以了!!
wyj1983 2008-12-23
  • 打赏
  • 举报
回复
<%myBean.settxtaraddress(request.getParameter("type")); %>
canyingwushang 2008-12-23
  • 打赏
  • 举报
回复
那你把type加上双引号引起来,你报的那个错误是说type为定义不能被解析
<%myBean.settxtaraddress(request.getParameter("type")); %>
Fishest 2008-12-23
  • 打赏
  • 举报
回复
我用了你们的方法,好像那个type还是报错提示为:type cannot be resolved ;
canyingwushang 2008-12-23
  • 打赏
  • 举报
回复
超链接参数传递方式略有不同,若只采用以上设定,遇中文参数,因编码不同,会导致部分文字信息丢失,所以在提交前务必进行编码。
<a href= "/test/index.jsp?param=<%=java.net.URLEncoder.encode("大陆", "UTF-8 ")%> ">fasdjfsd</a>
由java.net.URLEncoder.encode 函数将要发送的变量解析为16进制数字编码,进行URL传递,接收代码如下:
<%String str = request.getParameter ( "传递的参数名 ");%>
由此,获得参数后的str内将是正确的中文信息。
pushregistration 2008-12-23
  • 打赏
  • 举报
回复
up
lanzhengwu 2008-12-23
  • 打赏
  • 举报
回复
页面编码全设置为gb2312
<a href="Singer/ChSinger.jsp?type=大陆">

<%myBean.settxtaraddress(new String(request.getParameter(type).getBytes("iso8859-1"),"gb2312")); %>
lin52p 2008-12-23
  • 打赏
  • 举报
回复
<a href="Singer/ChSinger.jsp"?type= <%=java.net.URLEncoder.encode("大陆")%>">


应该改为

<a href="Singer/ChSinger.jsp?type“= <%=java.net.URLEncoder.encode("大陆")%>>
canyingwushang 2008-12-23
  • 打赏
  • 举报
回复
另外提交的时候改为Post提交
chengyu2099 2008-12-23
  • 打赏
  • 举报
回复

<%request.setCharacterEncoding("GB2312"); %>
<%myBean.settxtaraddress(new String(request.getParameter(type).getBytes("iso8859-1"),"gb2312")); %>
canyingwushang 2008-12-23
  • 打赏
  • 举报
回复
像这种参数的传递为什么非要用中文呢!虽然前台显示是中文,你可以通过value来变通一下!
<%=java.net.URLEncoder.encode("大陆", "UTF-8 ")%>
把页面等的编码全部给成UTF-8,开发中都是这样的

81,091

社区成员

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

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