Puntales 2 - Acceso a diferentes propiedades en la ValueStack compartir el mismo nombre

StackOverflow https://stackoverflow.com/questions/2939005

  •  05-10-2019
  •  | 
  •  

Pregunta

Struts 2 resolverá todos los nombres de propiedades durante la representación de vista en contra del objeto superior en el primer ValueStack. Pero ¿cómo se puede acceder a una propiedad con el mismo nombre en el objeto de disminuir en la pila?

Ejemplo:

Vamos a decir que tengo una clase de acción que se ejecuta MyAction y tiene una propiedad de un LogDate. En la vista renderizada después de invocar esta acción, hay esto:

<s:iterator value="users" status="itStatus">
  <s:property value="logDate"/>
</s:iterator>

Ahora imagina un objeto de usuario también tiene una propiedad LogDate. Durante la iteración, Struts 2 siempre empujará el objeto de usuario actual a la parte superior de la ValueStack resolver con eficacia todos los nombres de propiedad en contra de ella. Pero, lo que si quería el acceso LogDate de la acción? Cuál es la forma correcta de hacer esto?

¿Fue útil?

Solución

Se puede usar un índice para vistazo a una sub-pila. Por ejemplo: [0] .logDate comenzaría la búsqueda en el tope de la pila y encontrar el LogDate en el objeto de usuario. [1] .logDate comenzaría el nivel de búsqueda de un más profundo y encontrar el LogDate de la clase de acción. Este página OGNL (ver la sección derecha por encima de la estática Acceso propiedades de cabecera) tiene algo más de detalle y aquí es otra explicación .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top