servlet取不出jsp中hidden元素的值,why?

jsp,表单中有<inputtype="hidden"name="method"value="addType"/>,servlet中doPost:Stringmethod... jsp,表单中有

<input type="hidden" name="method" value="addType"/>,
servlet中doPost:

String method=req.getParameter("method");
System.out.println("======"+method);

可是显示======null
出错NullPointerException
展开
 我来答
shineKevin0524
2012-11-10
知道答主
回答量:19
采纳率:0%
帮助的人:10.2万
展开全部
应该是取得到的,我刚才试了一下,完全可以取到。
不过你确定你把hidden是放到了<form>中正确提交了?确定提交的方式与你取值的方法是不是一致的?
追问
form属性中有这个:enctype="multipart/form-data"
追答
一般只有在有附件上传的时候才会给表单增加enctype="multipart/form-data"属性,这个时候数据会以一个对象集合提交给servlet,这个时候要定制一个map集合来充当作用域,以键值对的形式存放这些控件的值,我还是给你一段上传的代码给你参考吧,里面有注释,解释地很清楚。
public class UpServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");
//获得产生上传的对象的一个工厂类
DiskFileItemFactory df = new DiskFileItemFactory();
//产生一个上传对象,通过可以取得用户上传的所有数据
ServletFileUpload sf = new ServletFileUpload(df);
//设置上传文件的大小限制
sf.setSizeMax(1024*1024*10);
//定制Map充当作用域,存数据
Map map = new TreeMap();
//准备开始取得上传的数据
try {
///得到用户上传的所有数据,形成一个集合
//通过上传对象,把请求中的数据,转换成一个对象集合
List list = sf.parseRequest(request);
//这个集合中,封装了表单中的所有数据

//也有可能包含的有附件,附件是需要生成物理文件

//循环判断集合中的每一个对象的类型,如果是附件,就生成
//物理文件,如果是普通数据,就直接取值
for(FileItem f : list){
//用于判断,当前的文件项,是不是一个普通数据
//是:返回true,不是,返回false
if(f.isFormField()){
//普通数据
//如果表单的类型改成了multiparp/form-data
//request.getParameter("参数")这种方式将取不到值
String key = f.getFieldName();
//取得控件的name名称
String value = f.getString("gbk");

map.put(key,value);

}else{
//得到用户要上传的文件名称
String fname = f.getName();
String fileName = fname.substring(fname.lastIndexOf("\\")+1);

//用户自定义目录上传
File file = new File("f:\\myfile",fileName);
if(!file.getParentFile().exists()){
file.getParentFile().mkdir();
//动态产生文件夹
}
f.write(file);//把文件,写到目的地
}
}
System.out.println("姓名:"+map.get("username"));
System.out.println("年龄:"+map.get("userAge"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangweiqij
2012-11-10 · 超过10用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:29.2万
展开全部
本页的jsp是得不到的因为没有提交,提交另一个页面,就能获取到了,如果想得到,可以用js
呃,先确定在form中你的method='post'
追问
form属性中有这个:enctype="multipart/form-data",在servlet中怎么取表单元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式