开发者社区> 问答> 正文

包含file 和select两种数据类型的表单,提交servlet处理读不到text文本框输入的内容

jsp文件中的表单主要内容:

<form name="myform" action="upload.do" method="post" enctype="multipart/form-data">

<input name="exfile" id="exfile" type="file"/>

<select name="fileclass"  id="fileclass">
          <option value="normal" selected="selected">正常</option>
          <option value="spacal">特殊</option>
</select>

<input type="button" name="submit1" class="n" onClick="javascript:upload();" value="提交"/>

serverlet的内容:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 MultipartRequest multi=null;
 response.setContentType("text/html; charset=utf-8");
 String fileclass=request.getParameter("fileclass").trim();//读取表单的文件类型---出错行
 multi=new MultipartRequest(request,saveDirectory,maxPostSize,"utf8",rfp);
 Enumeration files=multi.getFileNames();

}

执行时报错:

java.lang.NullPointerException
jclass.upload.UploadServlet.doPost(UploadServlet.java:39)
39行就是:String fileclass=request.getParameter("fileclass").trim();

请高手指点下这39行要怎么改,才能读取到表单的值?

展开
收起
kun坤 2020-06-07 22:04:32 645 0
1 条回答
写回答
取消 提交回答
  • 你的 input 哪里有个叫jsfs 的text ?

    ######

    String fileclass=request.getParameter("fileclass").trim();

    ######

    引用来自“zp-wmhx”的评论

    你的 input 哪里有个叫jsfs 的text ?

    刚问题写错了,我已经修改,请继续指教

    ######

    引用来自“nevermissing”的评论

    String fileclass=request.getParameter("fileclass").trim();

    刚问题写错了,我已经修改,请继续指教

    ######

    文件上传时请求包编码是multipart/form-data,这个时候POST请求数据全部要自己处理,使用request.getParameter("fileclass")获取不到任何内容。你用的COS的MultipartRequest本身有个getParameter()方法,应该用它,具体看看API文档吧

    ######高人######

    谢谢逝水fox!你说的没错,我修改如下就好了:

     MultipartRequest multi=null;
     multi=new MultipartRequest(request,saveDirectory,maxPostSize,"utf8");
     String fileclass=multi.getParameter("fileclass").trim();//读取表单的文件类型---出错行

    2020-06-07 22:04:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载