jsp中request怎么得到radio的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp中request怎么得到radio的值相关的知识,希望对你有一定的参考价值。

----------------------------------------
<input name="radio" type="radio" id="Pgender" value="男" checked>
<span class="left">男</span>

<input name="radio" type="radio" id="Pgender" value="女">
--------------------------------处理--------------------------------
String gender = request.getParameter("radio");
---------------------------------------------------
得到的却是乱码。怎么回事呀?

首先,查看你表单的提交方式是不是 post

<form method="post"></form>

后台处理时,先加一句request.setCharacterEncoding("GBK");

再通过String gender = request.getParameter("radio");接收参数

另外一种方法就是增加编码过滤器
参考技术A <%@ page language="java" pageEncoding="GBK"%>
这一句话。是编码格式pageEncoding="GBK"。修改一下
参考技术B Web开发的乱码问题,呵呵!比较烦人的。 参考技术C 改你的编码格式
代码中request.setCharacterEncoding(utf-8);
页面上<%@ page language="java" pageEncoding="utf-8" contentType="utf-8"%>本回答被提问者采纳

在servlet中用request.getParameterMap()获得jsp页面元素的集合,怎么能得到值呢?

Iterator iter = map.entrySet().iterator();
while(iter.hasNext())
Map.Entry entry = (Map.Entry)iter.next();
String key = entry.getKey().toString();
String val = entry.getValue().toString();
System.out.println("key="+key+",value="+val);

打印出来的信息:
key=id,value=[Ljava.lang.String;@e1f305
[Ljava.lang.String;@e1f305
key=name,value=[Ljava.lang.String;@19ee8a
[Ljava.lang.String;@19ee8a
key=password,value=[Ljava.lang.String;@7bbfb8
[Ljava.lang.String;@7bbfb8
键是对的,可是值是这个,怎么能得到它具体的值呢?

谢谢大家啦!

你这几个value都是数组,
String val = entry.getValue().toString();
改成
Object obj = entry.getValue();
String val = "";
if (obj instanceof String[])
String[] strs = (String[])obj;
val = Arrays.toString(strs);//jdk1.5以上才支持,1.4的话就自己循环
else
val = obj.toString();
参考技术A 你的值放的是什么? 按理来说String应该是输出自己才对 你试着把val强制转换成String在to出来 参考技术B 很奇怪...
试试val = String.valueOf(char(val));
参考技术C map里面value 有两个值,你看下jsp那边是不是有问题

以上是关于jsp中request怎么得到radio的值的主要内容,如果未能解决你的问题,请参考以下文章

jsp如何取到选中的radio中每一列的值

JSP中怎样获取radio的值

JSP中如何获取radio 或checkbox的值

jsp获取radio的值

请问下: 如果在jsp 中获取一组 radio 的checked值

为啥我的jsp 中radio得到的总是第一个