jsp代码:
<form action="updateNewsServlet" method="post" enctype="multipart/form-data" name="newsDetailForm" size=100>servlet:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
int nid = Integer.parseInt(req.getParameter ( "nid" ));
System.out.println("nid = "+ nid);
}
输出的是 nid = null 在线求解
JSPServletwebpostform
<form action="updateNewsServlet" method="post" enctype="multipart/form-data" name="newsDetailForm" size=100>servlet:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
int nid = Integer.parseInt(req.getParameter ( "nid" ));
System.out.println("nid = "+ nid);
}
输出的是 nid = null 在线求解
JSPServletwebpostform
2、另一种是在使用表单传送数据的时候,如果form 加了enctype="multipart/form-data" 这个属性,那么表单请求传到另一个jsp或servlet 里时
是不能用request.getParameter()来获取到各个表单元素的值的。
要获取可以这样子:
mySmartUpload.initialize(config,request,response);
filename=mySmartUpload.getRequest().getParameter("sourcefile");
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功
2、另一种是在使用表单传送数据的时候,如果form 加了enctype="multipart/form-data" 这个属性,那么表单请求传到另一个jsp或servlet 里时
是不能用request.getParameter()来获取到各个表单元素的值的。
要获取可以这样子:
mySmartUpload.initialize(config,request,response);
filename=mySmartUpload.getRequest().getParameter("sourcefile");
这个还是获取不到
enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值