Páginas

29 de enero de 2013

Subida archivos con FileUploadField de GXT

- Configuración FormPanel:

        FormPanel fp = new FormPanel();
        fp.setEncoding(Encoding.MULTIPART);
        fp.setMethod(Method.POST);
        fp.setAction("uploadServlet"); // Path del servlet de subida

- Configuración FileUploadField:

        FileUploadField flupldFld = new FileUploadField();
        flupldFld.setName("file");

- Añadir el FileUploadField al FormPanel:

       fp.add(flupldFld, new FormData("100%"));

- Configuración Button:

      myButton.addSelectionListener(new SelectionListener() {

            @Override
            public void componentSelected(ButtonEvent ce) {
               
                if (display.getFlupldFld().getValue() != null) {
                    fp.submit();
                }
            }
        });

- Añadir listener de respuesta de la subida al FormPanel

      fp.addListener(Events.Submit, new Listener () {

            @Override
            public void handleEvent(final FormEvent be) {

                Log.info("[be.getResultHtml()] = " + be.getResultHtml());
                }
            }
        });

- Creas un servlet y con este código tendrás el archivo (necesitarás la librería de apache commons-fileupload)

      FileItemFactory factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);
      List items = (List) upload.parseRequest(request);

- También en el servlet puedes escribir algo en su salida para que lo puedas recibir en el 'be.getResultHtml()' del listener que le pusiste al FormPanel.

      response.getOutputStream().print("Fichero subido correctamente");

creacion de properties en un proyecto gwt




se crea una clase la nombre -> ConfigsGetter

//es la localizacion donde esta nuestro archivo de propertis

private static final String BUNDLE_NAME = "/res/config/file.properties";

public ConfigsGetter() {
}
public static String getString(String key) {
try {
InputStream in = ConfigsGetter.class.getResourceAsStream(BUNDLE_NAME);
if (in == null ) {
System.out.println("Properties file: " + BUNDLE_NAME + " not found!");
return null;
}
else {
Properties pro = new Properties();
pro.loadFromXML(in);
return pro.getProperty(key);
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

en el archivo  file.properties

key="plantilla">/res/config/fichero.xls
key="plantilla1">/res/config/fichero1.xls
key="plantilla2">/res/config/fichero2.xls
key="plantilla3">/res/config/fichero3.xls

para llamarlo 

ConfigsGetter.getString("plantilla")




Configuracion JNDI en un gassfish


1.       Crear un recurso tipo Properties en Glassfish, donde podemos poner varias propiedades (por ejemplo URL, user, passwd, ruta base, tiempo de espera, etc):

REsources > JNDI > Custom > New Custom Resource:



2.       En código java hacer el lookup del recurso:

                                                    
public static final String JNDI = "wsdl/dkv";
Properties SyncAseguradosResource = Properties.class.cast(new InitialContext().lookup(JNDI));


3.       Una vez tenemos el recurso, obtener la propiedad que necesitemos:

String sEndPointURL = SyncAseguradosResource.getProperty("DKV_EndPoint");