JSP无法获取表单元素的值

添加了一个文件域,因为要上传文件,然后在JSP页面中就获取不到值了,用SmartUpload对象的getRequest方法仍然获取不到值,我想请问这是什么原因,怎么解决

第1个回答  2013-05-11
常见的错误原因是
1、form的method没有设为post。
2、form的enctype没有设为"multipart/form-data"。
第2个回答  2013-05-11
public void doAdd_books(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {try {DiskFileUpload fu = new DiskFileUpload();// 代表当前上传文件磁盘对象// 设置最大文件尺寸,这里是4MBfu.setSizeMax(4194304);// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);// 设置临时目录:fu.setRepositoryPath("D:\\");// 得到所有的文件:List fileItems= fu.parseRequest(request);// 解析请求对象Iterator i = fileItems.iterator();// 依次处理每一个文件:
books_bean books = new books_bean();while (i != null && i.hasNext()) {FileItem item = (FileItem) i.next();
// 简单的表单if (item.isFormField()) {System.out.print("form field:");System.out.print("==" + item.getFieldName() + " ");System.out.print(item.getString());String param_name = item.getFieldName();
if (param_name.equals("book_name")) {books.setBook_name(new String(item.getString().getBytes("ISO-8859-1")));} else if (param_name.equals("book_author")) {books.setBook_author(new String(item.getString().getBytes("ISO-8859-1")));} else if (param_name.equals("book_concern")) {
books.setBook_concern(new String(item.getString().getBytes("ISO-8859-1")));} else if (param_name.equals("fk_group_id")) {books.setFk_group_id(Integer.parseInt(item.getString()));}
else if (param_name.equals("book_market_price")) {books.setBook_market_price(Float.parseFloat(item.getString()));} else if (param_name.equals("book_favourable_price")) {
books.setBook_favourable_price(Float.parseFloat(item.getString()));} else if (param_name.equals("book_image")) {books.setBook_image(new String(item.getString().getBytes("ISO-8859-1")));}
else if (param_name.equals("book_info")) {books.setBook_info(new String(item.getString().getBytes("ISO-8859-1")));}}// 文件域else if (!item.isFormField()) {String fileName = item.getName().substring(item.getName().lastIndexOf("\\"));books.setBook_image("image/"+fileName.substring(1,fileName.length()));BufferedInputStream in = new BufferedInputStream(item.getInputStream());// 文件存储在工程的upload
//太多了,写不完本回答被网友采纳

JSP无法获取表单元素的值
1、form的method没有设为post。2、form的enctype没有设为"multipart\/form-data"。

jsp 取值为空
首先,form表单取值是通过name属性取值的,而你的三个文本根本没有定义name属性,所以无法取到值,这是主要原因。其次 你的表格结构有问题,请看这两行代码:密码: 第一行没有错误,可第二行的标签只有开始,却没有用结束,这又是一个错误。第三行更夸张,仅仅是个列标签,里面只可以声明该列...

jsp request.getParameter方法偶尔取不到值
1、函数CommFunction.checkNullString 处理有问题,可以看看是不是所有的判断都返回值了,try catch一下,如果发生异常而没有捕获,也是拿不到值的。2、这点不太靠谱,就是网络连接不好,丢包。这种情况具有不可预料性。按照第一点实践一下,可能性比较大。

表单提交数据之后,JSP页面获取不到,是什么原因
表单提交数据到 action=“xx.jsp”或者是Servlet 用request.getParameter("")获取参数

jsp页面中为什么text 类型input输入框获取不到数据?急需求解答_百度知 ...
你的问题不够明确,是在什么地方取不到值,javascript中还是servlet中或者其他地方。如果是在javascript中,那么一般是根据Id取取值,首先也确定你的input的id是否唯一。其次确定你的javasictip中不存在其他的编译错误,导致取值的语句不可达等问题。如果是在servlet中,那么首先确定你的input是否在表单中,...

怎么获取JSP表单中file的值
JSP上传文件使用的开源组件UPload,获得file文件路径,可以使用如下方法:String myFilepath=myFile.getFilePath();获得该文件的路径,使用上述方法有一个前提就是必须确保已经上传成功。

如何获取jsp页面中输入框的值
如果是javascript获取 document.getElementById("表单的ID").value;如果是servlet 在目标servlet调用 request.getParameter("表单的name值 注意:id值获取不到")如果是struts框架的html标签 比如 是一个文本 在js获取就要标记 styleId="ID" 同样 document.getElementById("表单的ID").value;在struts html...

jsp中提交到Servlet的表单获取的值为什么都为NULL
这样的表单提交到相对应的Servlet后在控制台输出的参数值都为null 后来发现,表单设置enctype="multipart\/form-data"对要上传文件的表单有效,在读取表单数据时,需要SmartUpload su=new SmartUpload()得到经实例化的对象,通过su.getFiles().getFile(0)获得文件,同一表单的其他数据通过su.getRequest(...

JSP关于request.setAttribute的问题
因为你是使用request进行数据存储的,而request对象的生命周期为一个request请求,即:客户端发出请求,服务器端相应完毕后,request即失效了,因此,你在第一次request的时候执行的setAttribute在后面提交后,是没法获取到对应值的,如果想要达到这个目的,有两种办法:1、使用form页面进行数据的保存,在下次...

jsp中怎样在表单没提交的时候读取表单中输入的数据
\/\/ 获取Id为“age”的对象的value值 var ageValue = document.getElementById("age").value;var message = "";if(nameValue == null || nameValue == ""){ message += "没有输入姓名."}else{ message += "姓名:" + nameValue;} if(ageValue == null || ageValue == ""){ mes...

相似回答