Mostrar Mensajes

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - alemag

Pages: [1] 2 3 ... 20
1
Java J2EE y JSP / Re: Refresh de tabla al volver de jsp
« on: Octubre 27, 2016, 12:46:38 am »
Cuando pulso el botón Consultar va a la misma jsp, solo que añade debajo de los filtros de búsqueda una tabla con el listado. Este es el codigo en la jsp donde muestra la tabla:
   <display:table name="sessionScope.objectSession.listaFinal"
            align="center"
            id="lista"
            pagesize="20"
            export="false"
            sort="page"
            requestURI="../../../action/miAction" >
            ..."

En ese miAction, para ese método, solo tengo esto:
   protected void consultarExecuteActionLogic(ActionMapping actionmapping,
         ActionForm form, HttpServletRequest request,
         HttpServletResponse response) throws Exception {

      ObjectSession objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiForm miForm = (MiForm) form;

      MiVO miVO = new MiVO ();
      miVO = (MiVO) miForm .populate(miVO );

      List listaFinal = ... obtener la lista
      objectSession.setListaFinal(listaFinal);

   }

y en el listado, en la última columna, hay un botón Editar. Si pulso ahí, va a otra pantalla, donde se pueden modificar los datos pulsando un Bóton Grabar (que está en el mismo Action que el anterior).
Al pulsar el botón Grabar, debería ir a la jsp anterior, mostrando la tabla, pero con los datos actualizados. Los métodos de ese action para el botón Grabar son:

   protected void grabarPreProcess(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

      MiForm miForm = (MiForm) form;

      ObjectSessionPnc objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiVO miVO = objectSession.getMiVO();
      miVO = (MiVO ) miForm.populate(miVO );

      List listaFinal = (List) ... se obtiene la lista
      objectSession.setListaFinal(listaFinal);

   }

y luego el execute:
   protected void grabarExecuteActionLogic(ActionMapping actionmapping,
         ActionForm form, HttpServletRequest request,
         HttpServletResponse response) throws Exception {
      ObjectSession objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiVO miVO = objectSession.getMiVO();
      MiForm miForm= (MiForm ) form;

      miVO = (MiVO ) miForm.populateGrabar(miVO );
         
      getMiDelegate().update(miVO );

}

Hace la actualización del registro bien, pero luego al volver, no muestra la tabla (lo he intentado de varias formas, quitandolo tb del preproccess, pero sin resultado).

Espero haberme explicado.

Muchas gracias.
Un saludo.

2
Java JSE / Re: Renombrar fichero dentro de un hilo
« on: Octubre 24, 2016, 06:24:41 pm »
Creo que he dado con la solución, y puede ser porque el renameTo no lo realiza si el fichero al que se quiere renombrar ya existe, con lo que he realizado una comprobación previa de si ya existe dicho fichero, que lo borre, y ahora parece que sí funciona bien.

3
Java JSE / Renombrar fichero dentro de un hilo
« on: Octubre 24, 2016, 04:59:09 pm »
Buenos días,
tengo un pequeño problema al renombrar un fichero. Antes lo hacía bien, pero tardaba mucho tiempo en descargarlo, por lo que decidí hacerlo en un hilo y ahora no lo renombra, indica que no lo encuentra.
El código es este:

en mi metodo:

        File fich = new File(ficheroTemporal);
        try {
            FileOutputStream fichero = new FileOutputStream(fich);
            RecogeDatos datos = new RecogeDatos ();
            // los set de datos...
            fich.renameTo(new File(finalizedFile));
            datos.createThreadListado(datosVO,fichero,finalizedFile,fich);
        } catch (Exception ex) { ... }

Y en metodo de createThreadListado, en otra clase es:

      public void createThreadListado(RecogeDatos datosVO, FileOutputStream fichero, String fichTerminado, File fichTemporal){
         // los set del objeto this
         Thread nuevoHilo = new Thread(this,"nuevoHilo");
         nuevoHilo.start();
      }

      public void run() {
         // aqui recupera toda la info del fichero correctamente
                       this.generaFichero(this.getDatosVO()); 
         try {
            this.writeXSL(fichero);
            fichero.close();
            fichIncompleto.renameTo(new File(ficheroTemporal));
         } catch (IOException e) {
            fichIncompleto.delete();   
         }
         
      }


Esto es el código por encima. La primera vez lo renombra bien, pero al hacer el mismo proceso una segunda vez, no le cambia el nombre. ¿Alguna idea para poder renombrarlo?
Muchas gracias.

4
Java J2EE y JSP / Refresh de tabla al volver de jsp
« on: Octubre 19, 2016, 09:30:50 pm »
Buenas tardes, os comento lo que quiero hacer y no me sale por si me podeis dar una idea.
Tengo una jsp, con unos filtros y un botón Consultar, si pulsa ese botón obtiene una consulta de base de datos y la muestra en una tabla, y en la ultima columna de esa tabla, un enlace de Editar.
Si pulsa este enlace va a otra pantalla donde puede cambiar los datos que se muestran en esa fila/registro, despues de pulsar el botón Grabar. Luego vuelve a la pantalla inicial de los filtros y el botón Consultar, pero no muestra la tabla, y quiero que muestre directamente la tabla que había antes (y con el registro modificado). ¿Alguien me puede dar una idea de cómo poder hacerlo?
Muchas gracias.

5
Java JSE / Re: Llamada a servicio Rest
« on: Febrero 19, 2016, 03:21:36 pm »
Buenos días,

Rest es el nombre del proyecto (posiblemente me haya explicado mal). Si hago localhost:8080/Rest/  se muestra la tabla con los datos del csv que lee el servicio realizado (adjunto una pantalla con la estructura de carpetas y ficheros y el web.xml).

Y el servicio servicioEmpleados.java lo tengo de la siguiente manera:
//.... imports

@Path("/servicioEmpleados")
@Produces("application/json")
public class ServicioEmpleados {

   private static LinkedList<Usuario> empleados;

   public ServicioEmpleados() {
      super();
   }

   @GET
   @Path("/empleados")
   @Produces("application/json")
   public static LinkedList<Usuario> getEmpleados() {

      empleados = new LinkedList<Usuario>();
     
      try {

         CsvReader usuarios_import = new CsvReader("servicio/test/employees.csv");
         usuarios_import.readHeaders();

         while (usuarios_import.readRecord()) {
            String nombre = usuarios_import.get(0);
            String apellido = usuarios_import.get(1);
            String fecha = usuarios_import.get(2);
            String posicion = usuarios_import.get(3);

            empleados.add(new Usuario(nombre, apellido, fecha, posicion));
         }

         usuarios_import.close();
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }
      return empleados;
   }
}


En este servicio servicioEmpleados es donde le pongo los path de acceso para esos métodos, pero no los encuentra cuando se invocan en el navegador.

¿Tendría que cambiar algo en dicho web.xml o en el servicio servicioEmpleado?

Muchas gracias por vuestra ayuda.
Un saludo.

6
Java JSE / Re: Llamada a servicio Rest
« on: Febrero 18, 2016, 08:00:59 pm »
Es un error 404.
Adjunto una captura del error.

Un saludo.

7
Java JSE / Llamada a servicio Rest
« on: Febrero 18, 2016, 07:06:30 pm »
Buenas tardes,
estoy intentando arrancar un servicio rest que recibe un fichero csv, lee esos datos y los escribe en una tabla. Lo invoco con  localhost:8080/Rest/  y se muestran los resultados.

Ahora lo que quiero es mostrar un link con la llamada a ese servicio (que devuelve un json con los datos).
Al invocar desde el navegador ese llamada con localhost:8080/Rest/servicioEmpleados ya no lo reconoce, indica que "El recurso requerido no está disponible" (lo mismo pasa con la llamada localhost:8080/Rest/servicioEmpleados/empleados).

La clase del servicio Rest la tengo así implementada:

...  // Todos los imports

@Path("/servicioEmpleados")
@Produces("application/json")
public class ServicioEmpleados {

   private static LinkedList<Usuario> empleados;

   public ServicioEmpleados() {
      super();
   }

   @GET
   @Path("/empleados")
   @Produces("application/json")
   public static LinkedList<Usuario> getEmpleados() {

      empleados = new LinkedList<Usuario>();
      
      try {

         CsvReader usuarios_import = new CsvReader("servicio/test/employees.csv");
         usuarios_import.readHeaders();

         while (usuarios_import.readRecord()) {
            String nombre = usuarios_import.get(0);
            String apellido = usuarios_import.get(1);
            String fecha = usuarios_import.get(2);
            String posicion = usuarios_import.get(3);

            empleados.add(new Usuario(nombre, apellido, fecha, posicion));
         }

         usuarios_import.close();
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }
      return empleados;
   }
}


¿Qué tendría que cambiar para poder llamar al servicio y que muestre un json con esos datos leidos desde el csv?

Muchas gracias.

8
Java JSE / Re: Llamada a jar desde jsp
« on: Febrero 17, 2016, 10:17:30 pm »
Perfecto, con eso ya he conseguido recibir los valores en la jsp y que los muestre por consola.

Muchas gracias !!!

9
Java JSE / Re: Llamada a jar desde jsp
« on: Febrero 17, 2016, 09:48:06 pm »
Perfecto, al crearlo por defecto no me había creado esa carpeta de classes con los compilados... Así si va ahora.
Y lo último, quiero leer en otra clase, con esa misma estructura, un csv de la siguiente manera (dentro de la clase ServicioEmpleados):
         CsvReader usuarios_import = new CsvReader("/test/employees.csv");

pero indica que no encuentra el fichero.
He puesto ese csv dentro de src, en un paquete dentro de src y en una carpeta fuera de csv, pero no consigo que me lo encuentre, con la siguiente estructura:

-> Java Resources
   -> src
      -> servicio
         ApplicationConfig.java
         LeeCsv.java
        ServicioEmpleados.java
        Usuario.java
       -> servicio.test
            employees.csv
       -> test
            employess.csv
   -> test (al mismo nivel que src, dentro de Java Resources)
        employees.csv

Pero no me lo detecta en ningún caso (aunque desería ubicar el csv en /src/servicio/test) y la ruta la he puesto relativa y absoluta, pero no me lo encuentra... ¿ cómo tendría que cambiar en la ubicación o en la estructura de carpetas para que lo encuentre ?

10
Java JSE / Llamada a jar desde jsp
« on: Febrero 17, 2016, 05:09:44 pm »
Buenos días, estoy intentando arrancar un servicio Rest, y en la jsp al hacer el import de un jar ya importado, me dice que no reconoce dicho jar. Os dejo la estructura de carpetas y el código de la jsp:

-> Java Resources
   -> src
      -> servicio
         ApplicationConfig.java
    LeeCsv.java
    ServicioEmpleados.java
    Usuario.java
-> WebContent
   -> WEB-INF
      -> lib
    -> com
       -> csvreader
          CsvReader.java
          CsvReader.class
      ...
      index.jsp  (dentro de WEB-INF esta la carpeta lib y el index.jsp)


el problema es que no me reconoce el jar importado CsvReader:

javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/csvreader/CsvReader

El codigo del index.jsp es:

...
<%@ page import = "servicio.ServicioEmpleados"%>
<%@ page import = "servicio.Usuario"%>
<%@ page import = "java.util.LinkedList"%>
<%@ page import = "com.csvreader.CsvReader.*"%>

<html>
<body>

<%
LinkedList<Usuario> listUsuarios= ServicioEmpleados.getEmpleados();
%>

{
   out.println("<tr>");
   out.println("<td>"+listUsuarios.get(i).getNombre()+"</td>");
   ...
}
</body>
</html>


Y si le quito el .* al import  <%@ page import = "com.csvreader.CsvReader"%>
da el siguiente error:
"Only a type can be imported. com.csvreader.CsvReader resolves to a package".

¿Alguien me puede indicar alguna solución o lo que estoy haciendo mal para que no me encuentre ese jar?

Muchas gracias.

11
Java JSE / Mostrar enlaces al pulsar en un JComboBox
« on: Julio 16, 2012, 03:34:59 pm »
Buenos días, os comento lo que quiero hacer.
Tengo un comboBox y quiero que al seleccionar un elemento del combo salgan enlaces, y que al pulsar en cada enlace se abra una ventana (es un enlace con una imagen).

¿Alguien me puede dar alguna solución o donde poder encontrar algo parecido?

Muchas gracias.

12
Bases de Datos / Re: Crear base de datos Mysql (basico)
« on: Julio 03, 2012, 05:24:55 am »
He cambiado el usuario y el password, pero ahora no me deja entrar. Lo hago con el Xampp, y al acceder al administrador de la base de datos me dice:

Acceso denegado
MySQL ha dicho: Documentación
No se estableció la conexión: los parámetros están incorrectos.

phpMyAdmin intentó conectarse con el servidor MySQL, y el servidor rechazó esta conexión. Deberá revisar el host, nombre de usuario y contraseña en config.inc.php y asegurarse que corresponden con la información provista por el administrador del servidor MySQL.

Y en el fichero config.inc.php tengo lo siguiente:

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = 'true';

También he probado a poner en la password 'root' y en allowNoPassword 'false', pero no me va.

Alguna solución ??  Muchas gracias y disculpad por las preguntas.

13
Bases de Datos / Re: Crear base de datos Mysql (basico)
« on: Junio 10, 2012, 08:47:31 pm »
Buenas, he conseguido instalar la base de datos, se llama "ejemplo" y el codigo que pongo en mi aplicación Java para obtener los registros es al pulsar un botón es:

Class.forName("com.mysql.jdbc.Driver");
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/nombre", "root", "");
Statement st = conexion.createStatement();      
ResultSet rs = st.executeQuery("SELECT nombre FROM ejemplo");

pero no llega a establecer la conexión, en la segunda línea se queda. Creo recordar que el usuario era root y la password vacía. Como lo puedo comprobar ?  Hay algo mal en ql código ?

El error que da es:
"Access denied for user 'root'@'localhost' (using password: NO)", pero he visto algo por internet aunque no lo he podido solucionar. ¿Alguna ayuda?

Muchas gracias.

14
Bases de Datos / Crear base de datos Mysql (basico)
« on: Mayo 30, 2012, 02:29:25 am »
Hola, quiero hacer una base de datos mysql para usar en una aplicacion java. He bajado el y se ha instalado el mysql worchbench, installer y server, pero he mirado algo por internet, aunque no se cual usar para crear la base de datos. Luego una vez creada me imagino que sería hacer los pasos necesarios que indicaos en el manual, pero no he conseguido crear la bd (en pinchado en el enlace que poneis para bajar el mysql, pero esa version no está y no sabía que producto bajar).

Muchas gracias por vuestra ayuda.

15
Javascript / no mostrar barra de estado en pop up en internet explorer
« on: Marzo 01, 2011, 11:34:38 pm »
Buenas tardes, necesito abrir una ventana modal (en internet explorer 6), sin la barra de estado (con status:no) y lo hace bien, pero si hago un ear y lo ejecuto en otro servidor distinto (al que no tengo acceso) muestra en esos pop ups la barra de estado.

Alguien me puede ayudar, o indicar a que se puede deber, si es una configuracion que habria que cambiar en el otro servidor o si se puede hacer algo en el codigo para poder mostrarlo bien ?

Muchas gracias.


PD: pongo el codigo que tengo, lo hice con el showModalDialog, y como no salia, luego con el window.open.

function dialogoModalModificar(este, ventana , w ,h)
{
   var arraydedatos = new Array();
   // var x=window.showModalDialog(ventana,arraydedatos,'center:yes;status:no;toolbar=no;resizable:no;dialogWidth:'+w+'px;dialogHeight:'+h+'px;');

   //var x=showModalDialog(ventana,arraydedatos,'center:yes;status:no;toolbar=no;resizable:no;dialogWidth:'+w+'px;dialogHeight:'+h+'px;');
   
   var color= document.forms[0].codColor.value;
   var url = "TiposDia.do?accion=modifica&idTipoDia=" + document.forms[0].idTipoDia.value;   
                       .....

   x = window.open(url,'Prueba', 'center:yes;status:no;toolbar=no;resizable:no;dialogWidth:'+w+'px;dialogHeight:'+h+'px;', false);
   
   //  se recojen los valores que devuelve el popup y se actualiza el campo que está al lado      
   if(x != null ){   
      document.forms[0].descTipoDia.value=x[0];      
                             .....

      document.forms[0].accion.value="modificarTipoDia";
      document.forms[0].submit();
   }
}      

Pages: [1] 2 3 ... 20
ey