carga de archivos | sin actualizar la página | struts2 | sin flash |

Descifrado del problema: quiero crear una pantalla de carga de archivos utilizando JSP. La pantalla permitirá al usuario seleccionar múltiples archivos en la pantalla, pero solo habrá un botón Subir para todos ellos. Al hacer clic en el botón de carga, todos los objetos de archivo deben obtenerse en la clase Acción.

Pero lo importante es que la página no debe actualizarse después de enviarla. Habrá otra información mostrada en la misma pantalla que no debe modificarse durante la carga del archivo en curso.

Mis intentos: utilicé la función simple de carga de archivos struts2 que funciona bien. Pero está refrescando la página al enviar. Usé AJAX (JQuery) para resolver esto. El problema al que me enfrento con AJAX es que no está configurando el objeto File en la propiedad de archivo de la clase Action. Por lo tanto, no puedo obtener el objeto de archivo en la clase Action y el proceso adicional.

¿Alguien puede por favor ayudarme con esto?

Adjunto el código de todo lo que he intentado hasta ahora.

JSP:

<s:form action="fileUpload" method="post" enctype="multipart/form-data" >
<s:file id="file" name="userImage" cssClass="fileUpload" cssStyle="fileUpload" />
<button id="px-submit">Upload</button>      
</s:form>

<script type="text/javascript">
jQuery(function($){
$('.fileUpload').fileUploader();
});
</script>

JQuery Plugin: Este es el plugin jquery que he usado.

Clase de accion:

public class FileUploadAction extends ActionSupport{

private File userImage;

public File getUserImage() {
    return userImage;
}

public void setUserImage(File userImage) {
    this.userImage = userImage;
}

public String execute()
{
    try
    {
        System.out.println("file name: " + userImage.toString());

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

    return SUCCESS;
}

EDITAR: Aquí está mi archivo de configuración struts.

Struts.xml

<action name="commonDataImportAction_*" class="xxx.Action">
<result name="SUCCESS" type="stream">
            <param name="contentType">text/html</param>
             <param name="inputName">inputStream</param>
        </result>

Obtengo un punto nulo aquí ya que el objeto de archivo no se establece.

Por favor ayuda.

gracias por adelantado. Gaurav

Respuestas a la pregunta(2)

Su respuesta a la pregunta