You are on page 1of 6

Archivo Struts 2 subir ejemplo

En Struts 2, la etiqueta <s:file> se utiliza para crear un archivo HTML componente de


subida para permitir a los usuarios seleccionar el archivo de su disco duro, y subirlo al
servidor. En este tutorial, crear una pgina JSP con un componente de carga de archivos, s
y el tamao mximo y permitir que el tipo de contenido del archivo de carga, y mostrar
los detalles de los archivos subidos.
1. Clase de Accin
Clase de Accin para la carga de archivos, declarar una variable "Archivo" para guardar el
archivo subido usuario, dos variables de cadena para almacenar el nombre del archivo y el
tipo de contenido. El "interceptor fileUpload" se auto inyectar los detalles del archivo
subido a travs de set "X" ContentType () y establecer nombre de archivo "X" (), asegrese
de que el nombre del mtodo es hechizo correctamente.
PS X es la variable para almacenar el archivo cargado.
El archivo de funcin de carga es depende de la "Interceptor fileUpload", asegrese de
que est incluido en la pila de la Accin. La suerte es, la pila por omisin ya est incluye el
"Interceptor fileUpload".
FileUploadAction.java
com.mkyong.common.action paquete;

importar java.io.File;

com.opensymphony.xwork2.ActionSupport importacin;

public class extends FileUploadAction ActionSupport {

fileUpload archivo privado;
private String fileUploadContentType;
fileUploadFileName private String;

public String getFileUploadContentType () {
volver fileUploadContentType;
}

public void setFileUploadContentType (String
fileUploadContentType) {
este fileUploadContentType = fileUploadContentType.;
}

getFileUploadFileName public String () {
volver fileUploadFileName;
}

setFileUploadFileName public void (fileUploadFileName String) {
. este fileUploadFileName = fileUploadFileName;
}

getFileUpload archivo pblico () {
volver fileUpload;
}

setFileUpload public void (fileUpload archivo) {
. este fileUpload = fileUpload;
}

public String execute () throws Exception {

Devuelve un valor verdadero;

}

pantalla public String () {
return None;
}

}
2. Pgina de resultados
Utilice <s:file> etiquetar para hacer una carga de archivos de componentes, y establecer la
forma de tipo enctype a "multipart / form-data".
fileupload.jsp
<% @ Taglib prefix = uri "s" = "/ struts-tags"%>
<Html>
<Head>
<s:head />
</ Head>

<Body>
<H1> Struts 2 <s: file> file upload ejemplo </ h1>

<S: form action = espacio de nombres "resultAction" = "/"
method = "POST" enctype = "multipart / form-data">

<s:file name = "fileUpload" label = "Select un archivo a upload" size =
"40" />

<s:submit value = "submit" name = "submit" />

</ S: form>

</ Body>
</ Html>
result.jsp
<% @ Taglib prefix = uri "s" = "/ struts-tags"%>
<Html>

<Body>
<H1> Struts 2 <s: file> file upload ejemplo </ h1>

<H4>
Nombre del archivo: valor <s:property = "fileUploadFileName" />
</ H4>

<H4>
Tipo de contenido: Valor <s:property = "fileUploadContentType" />
</ H4>

<H4>
Archivo: Valor <s:property = "fileUpload" />
</ H4>

</ Body>
</ Html>
3. struts.xml
Enlace todo ~
<? Xml version = encoding "1.0" = "UTF-8">
<! DOCTYPE struts PUBLIC
"- / / Apache Software Foundation / / DTD Struts Configuracin 2.0 / /
EN"
"Http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

Nombre <constant = "struts.devMode" value = "true" />
Nombre <constant = "struts.custom.i18n.resources" value =
"global" />

<package name = "default" namespace = "/" extends = "struts-
default">

<Accion nombre = "fileUploadAction"
class = mtodo "com.mkyong.common.action.FileUploadAction" = "display">
Nombre <result => "none" pginas / fileupload.jsp </ result>
</ Accion>

Nombre <accion = "resultAction" class =
"com.mkyong.common.action.FileUploadAction">
<interceptor-ref name = "exception" />
<interceptor-ref name = "i18n" />
<interceptor-ref name = "fileUpload">
<param name = "allowedTypes"> text / plain </ param>
<param name = "maximumSize"> 10240 </ param>
</ Interceptor-ref>
<interceptor-ref name = "params">
<param name = "excludeParams"> dojo \ .. *, ^ puntales \
.. * </ param>
</ Interceptor-ref>
<interceptor-ref name = "validation">
<param name = "excludeMethods"> Entrada, espalda,
cancelacin, navegar </ param>
</ Interceptor-ref>
<interceptor-ref name = "workflow">
<param name = "excludeMethods"> Entrada, espalda,
cancelacin, navegar </ param>
</ Interceptor-ref>

Nombre <result => "success" pginas / result.jsp </ result>
Nombre <result => "input" pginas / fileupload.jsp </ result>

</ Accion>
</ Package>
</ Puntales>
Lmites de tamao de archivo
En este ejemplo, se establece el lmite de tamao de archivo de carga a travs de
"fileUpload interceptor", este valor es el recuento de bytes. En este caso, el tamao
mximo del archivo de subida es de 10kb.
El tamao mximo de archivo por defecto del archivo de subida es 2 MB
Tipos de archivo
Puede configurar el tipo de archivo permite a travs de "fileUpload interceptor" tambin.
En este caso, el archivo de carga slo se acepta el "text / plain" tipo de contenido.
En Struts 2, hay mayo maneras de liderar misma Roma, asegrese de comprobar la
documentacin de carga de archivos Struts 2 .
4. Manifestacin
http://localhost:8080/Struts2Example/fileUploadAction.action

Mensaje de error es del sistema si se carga un archivo que es ms de 10kb, o no es un
archivo de texto.

Cargar un archivo de texto llamado "XWork-LICENSE.txt", tamao de archivo: 5 KB.

El archivo subido ser tratar como un archivo temporal, con un nombre de archivo aleatorio
largo, upload__376584a7_12981122379__8000_00000010.tmp. Asegrese de copiar este
archivo temporal a otro lugar. Lea la documentacin FileUtils copiar archivos fcilmente.

You might also like