没有得到文本区域价值与文件上传JSP和SERVET 2.5(Not getting Text Are

2019-10-19 02:28发布

我想提交一个表单文本字段,文本区域,在JSP表单文件场等。 我使用的公共文件上传这种形式。

这里是我的JSP形式:

<form name="add_product_form" id="add_product_form" enctype="multipart/form-data" method="post" action="Product.Add">
    <div id="form-body">
        <div id="lebel">
            <font color="red">*</font>Product Name:
        </div>
        <div id="field">
            <input type="text" name="product_name" id="product_name" value="">
        </div>
        <div id="lebel">
             <font color="red">*</font>SKU No:
        </div>
        <div id="field">
            <input type="text" name="sku_no" id="sku_no" value="">
        </div>
        <div id="lebel">
             <font color="red">&nbsp;</font>In Date:
        </div>
        <div id="field">
            <input type="text" name="in_date" id="in_date" value="">
        </div>
        <div id="lebel">
            <font color="red">&nbsp;</font>Upload Image:
        </div>
        <div id="field">
            <input type="file" name="upload_image" id="upload_image" value="">
        </div>
        <div id="lebel">
            <font color="red">&nbsp;</font>Description:
        </div>
        <div id="field">
            <textarea name="description" id="description"></textarea>
        </div>
        <div id="lebel">
            &nbsp;
        </div>
        <div id="button_field">
            <input type="submit" name="add_product_button" id="add_product_button" value="Add  Product">
        </div>
    </div>
</form>

我正在使用下面的方法文本字段的值。

List fileItems = upload.parseRequest(request);
// Process the uploaded file items
Iterator i = fileItems.iterator();

while ( i.hasNext () )
{
    FileItem fi = (FileItem)i.next();
    if ( !fi.isFormField () )
    {
        // Get the uploaded file parameters
        String fieldName = fi.getFieldName();
        String value = fi.getString();
        fileName = fi.getName();
        String contentType = fi.getContentType();
        boolean isInMemory = fi.isInMemory();
        long sizeInBytes = fi.getSize();
        // Write the file
        if( fileName.lastIndexOf("\\") >= 0 )
        {
            file = new File( filePath +
            fileName.substring( fileName.lastIndexOf("\\"))) ;
        }
        else
        {
            file = new File( filePath +
            fileName.substring(fileName.lastIndexOf("\\")+1)) ;
        }
        fi.write( file ) ;
    }
    else
    {
        String name = fi.getFieldName();
        String value = fi.getString();
        if( name.equals("product_name") )
        {
            productName = value;
        }
        else if( name.equals("sku_no") )
        {
            skuNo = value;
        }
        else if( name.equals("in_date") )
        {
            newDateString = value;
        }
        else if( name.equals("description") )
        {
            productDesc = value;
        }
    }
}

但我没有得到的“文本区”的价值我在形式已经使用名称为“描写的特征”。

谁能帮我在提交表单的时候得到这个文本区域的价值。

谢谢

Answer 1:

有一些问题的。 你可以给样式的文本框,看起来像textarea的,这将帮助你



Answer 2:

找不到直接的解决方案。

要实现这一点,我用一个隐藏字段和jQuery。

在点击提交按钮,我迪斯在隐藏字段德文本区域的值,然后提交表单。

这里是jQuery代码:

$('#add_product_button').click(function()
{
        var description = $("#description").val();
        $("#hidden_description").val(description);
        $("add_product_form").submit();
});


Answer 3:

我也遇到了同样的问题,我已经解决了!
只要把你的“textarea的”标签“之前输入类型=‘文件’....”标签,
并且servlet可以得到textarea的价值

我不是一个讲英语的人,希望你能理解我的解决方案:-)



文章来源: Not getting Text Area value with file upload JSP and Servet 2.5