Foros del Web » Programación para mayores de 30 ;) » Java »

mostrar datos usando <s:property value="">

Estas en el tema de mostrar datos usando <s:property value=""> en el foro de Java en Foros del Web. Hola tengo el siguiente problema: en mi clase tengo el siguiente codigo Código PHP: private  Archivo archivo  = new  Archivo (); archivo . setUno ( informacion . ...
  #1 (permalink)  
Antiguo 10/11/2011, 17:42
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 4
mostrar datos usando <s:property value="">

Hola tengo el siguiente problema:

en mi clase tengo el siguiente codigo
Código PHP:
private Archivo archivo = new Archivo();

archivo.setUno(informacion.get(0).toString());
System.out.println("va un valor "+archivo.getUno());

public 
Archivo getArchivo() {
        return 
archivo;
    }


    public 
void setArchivo(Archivo archivo) {
        
this.archivo archivo;
    }

@
Override
    
public Object getModel() {
        
// TODO Auto-generated method stub
        
return archivo;
    } 
explico, en el objeto archivo le estoy dando un valor y lo imprimo en consola y si lo hace de manera correcta, ahora este valor lo quiero mostrar en el JSP, muestro codigo:
Código PHP:
El resultado es: <s:property value="%{archivo.uno}" /> 
Pero no me aparece el valor de esa variable, QUE ESTOY HACIENDO MAL!!!!
  #2 (permalink)  
Antiguo 11/11/2011, 09:21
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: mostrar datos usando <s:property value="">

alguna pista!?
  #3 (permalink)  
Antiguo 11/11/2011, 11:30
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: mostrar datos usando <s:property value="">

Para conseguir soluciones lo primero que tienes que hacer es aportar información. Deberías haber empezado diciendo que estás usando Struts2 y que quieres utilizar ModelDriven.

¿Has implementado la interfaz ModelDriven?¿Cuál es el código del action que llamas?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 11/11/2011, 11:48
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: mostrar datos usando <s:property value="">

Tienes razon una disculpa Xerelo y si lo estoy implementando el ModelDriven<Object> te muestro:

Código PHP:
public class LeerTxt extends ActionSupport implements ModelDriven<Object
He estado buscando en la web acerca de esto... y la etiqueta <s:property> veo que la usan cuando hay un <s:iterator> y ahora si puedes imprimir las variables de esa lista o lo que estes desplegando.

lo que si he podido hacer es lo siguiente

Código PHP:
String uno=null;
uno=archivo.getUno(); 
esta variable uno tiene su set y get, en el jsp mando a imprimir esta variable de la siguiente manera:

Código PHP:
<s:property value="uno" /> 
sin embargo si mando al jsp la variable que tiene el objeto archivo no la imprime pongo codigo:

Código PHP:
<s:property value="%{archivo.uno}" /> 
por supuesto para estos cambios en la clase tengo que cambiar el metodo
Código PHP:
@Override
    
public Object getModel() {
        
// TODO Auto-generated method stub
        
return uno;
                             
// hago return del objeto archivo
                             // return archivo;
    

  #5 (permalink)  
Antiguo 11/11/2011, 12:07
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: mostrar datos usando <s:property value="">

<s:property> sirve para cualquier objeto que esté en el ActionContext (entre otros los usados por tu action)

http://www.javatutoriales.com/2011/0...te-2-ognl.html

Recomiendo esa página, está bastante bien.

El problema es que ModelDriven requiere una forma concreta de trabajar con él, por eso te digo que pongas el código que ejecuta tu action, ya sea el execute o otro método. Mi idea es que estás usando otro objeto para añadir los datos, por eso el "model" correcto permanece vacío.

Esto solo no aclara nada

Cita:
String uno=null;
uno=archivo.getUno();
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 11/11/2011, 12:47
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: mostrar datos usando <s:property value="">

Código PHP:
[PHP
[/PHP]Xerelo acabo de detectar mi error te señalo cual era!!!!!

Código PHP:
public class LeerTxt extends ActionSupport implements ModelDriven<Object>{
    
    private List 
informacion;
------>    private 
Archivo archivo = new Archivo();
    
String uno=null;
    
/**
     * 
     */
    
private static final long serialVersionUID 1L;

    public 
String execute()
    {
        
informacion Util.getDataFromFile(Constantes.ruta);
-------->    
borre esta linea y listo!!    Archivo archivo = new Archivo();
        
        if(
informacion != null)
        {
            
archivo.setUno(informacion.get(0).toString());
            
archivo.setDos(informacion.get(1).toString());
            
archivo.setTres(informacion.get(2).toString());
            
archivo.setCuatro(informacion.get(3).toString());
            
archivo.setCinco(informacion.get(4).toString());
            
            
System.out.println("ya la hice");
            
System.out.println("va un valor "+archivo.getUno());
            
System.out.println("segundo valor "+archivo.getDos());
            
uno=archivo.getUno();
            return 
SUCCESS;
        }
        else
            return 
INPUT;
    }
    
    
    public 
String getUno() {
        return 
uno;
    }


    public 
void setUno(String uno) {
        
this.uno uno;
    }


    public List 
getInformacion() {
        return 
informacion;
    }


    public 
void setInformacion(List informacion) {
        
this.informacion informacion;
    }


    public 
Archivo getArchivo() {
        return 
archivo;
    }


    public 
void setArchivo(Archivo archivo) {
        
this.archivo archivo;
    }


    @
Override
    
public Object getModel() {
        
// TODO Auto-generated method stub
        
return archivo;
    }


Estaba invocando dos veces al mismo objeto muchas gracias Xerelo por tu excelente ayuda como siempre

Etiquetas: jsp, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.