Jsp在使用 SmartUpload的情况下,request利用getParameter却得不到值

当使用SmartUpload处理文件上传时,通过request.getParameter()无法获取参数值。解决办法是改用su.getRequest().getParameter()来替代,以此恢复正常功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因是:

在 SmartUpload文件类的情况下,request会失灵,原因不详,记住就ok;

要用 su.getRequest().getParameter(),替代request.getParameter();

这样,解决!

 

有个例子:

<body>
	 
  <% //文件上传代码开始
   SmartUpload su =new SmartUpload();
  su.initialize(pageContext);
  //su.setMaxFileSize(100000);
  su.setAllowedFilesList("jpg,JPG,gif");
  su.setDeniedFilesList("exe,bat,jsp,js,htm,html");
   su.upload();
     su.save("/image");
     //文件上传代码结束
int idd =Integer.parseInt(session.getAttribute("idd").toString()) ;
  
  	String name=su.getRequest().getParameter("name");
  	String sex=su.getRequest().getParameter("sex");
  	if(sex.equals("M")){
		sex="男";
  	}else{
  	sex="女";
  	}
  	String password=su.getRequest().getParameter("pwd");
  	String age=su.getRequest().getParameter("age");
  	String anser=su.getRequest().getParameter("answer");
  	String shopp[]=su.getRequest().getParameterValues("shopping");
  	String shop="";
  	for(int i=0;i<shopp.length;i++){
  		if(i!=0)
  			shop+=",";
  		shop+=shopp[i];
  	}
  	String photo="image/"+su.getFiles().getFile(0).getFileName();//获取上传图片的名称
  	Connection conn = DBUtil.getConn();
  	String s="update test set name=?,sex=?,pwd=?,age=?,answer=?,shopping=?,photo=? where id=?";
 
	PreparedStatement sql=conn.prepareStatement(s);
	sql.setString(1, name);
	sql.setString(2, sex);
	sql.setString(3, password);
	sql.setString(4, age);
	sql.setString(5, anser);
	sql.setString(6, shop);
	sql.setString(7, photo);
	sql.setInt(8,idd);
	int m=sql.executeUpdate();
	if(m!=0){
		session.removeAttribute("idd");
		out.println("<script type='text/javascript'>  alert('修改成功!'); location.href='View.jsp'; </script>");
	}else out.println("<script type='text/javascript'>  alert('修改失败!'); location.href='View.jsp'; </script>");
  %>
</body>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值