2010-11-09 19 views
5

En struts2, aproveché incorporadas en OGNL struts2, nombrando a mis entradas como <input name='bag["item"].property'> ¿Qué fue a getters/setters He actualizado a 2.2.1 puntales, y los suddently ya no funcionan: el comprador nunca se se llama.struts2 ya no acepta los parámetros del mapa http?

Internet no dice nada sobre el uso de OGNL en los parámetros, como si nadie hubiera hecho formas complejas.

¿Cómo recupero los parámetros de mi mapa?

Respuesta

3

Resulta que endurecieron las restricciones en los nombres de los parámetros para aumentar la seguridad.

así que tuve que añadir a mi struts.xml:

 <interceptor-stack name="defaultStack"> 
      <interceptor-ref name="params"> 
      <!-- For maps to work --> 
      <param name="acceptParamNames"> 
       [a-zA-Z0-9\.\]\[\(\)_'\s"/]+ 
      </param> 
      </interceptor-ref> 
     </interceptor-stack> 

(que tenía "s/s, y en mis nombres de los parámetros) carga de archivos dejó de trabajar después de eso (pilas interceptores son una locura), por lo he tenido que añadir que explícitamente sea

actualización:.. en estos días me sugieren fuertemente el uso de JSON para pasar estructuras complejas en lugar de formas OGNL ricos Por supuesto que se necesita un poco de JS

+0

¿Dónde encontraste esta información.? son completamente correctos de que "internet" es completamente ent en tales temas. Aparte de eso, "parámetros" es un tema demasiado amplio para encontrar resultados de búsqueda precisos. – Beez

+0

@Beez en la fuente Struts. – alamar

Cuestiones relacionadas