Pregunta

Mi salida debería ser algo como esto:

<result>
  <item>
    <id>123</id>
    <src>123</src>
    <dst>123</dst>
  </item>
  <item>
  <!-- ... -->
  </item>
</result>

Y la clase de acción tendría un método getFoos que devuelve una matriz de objetos uniformes, e. sol. así:

class Foo {
  // ...
  public long getId() { ... }
  // ...
}

Estoy usando XSLTResult de esta manera:

<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction">
  <result name="success" type="xslt">
    <param name="exposedValue">foos</param>
  </result>
</action>

Dado que no quiero procesar el XML, no especifiqué ninguna plantilla, después de leer varios tutoriales que decían que esto funcionaría. En cambio, me da este error:

  

javax.xml.transform.TransformerException: operación no admitida. - [ubicación desconocida]

Así que intenté usar una plantilla, pero nunca mostró una lista en absoluto. En cambio, obtengo

  • todas las propiedades de los beans toString() ed juntos
  • documento vacío
  • etiqueta <foo /> vacía (no <foos />, extrañamente)

No pude encontrar un tutorial que me ayudó, ni en Beans - > representación en XML ni XSLT. Un problema es que tengo problemas para encontrar buenos términos de búsqueda: buscar en Google & Quot; struts xml & Quot; y similar devuelve una gran cantidad de enlaces completamente irrelevantes sobre cosas en struts.xml, excluyendo " struts.xml " los resultados tampoco son buenos, porque las páginas que estoy buscando probablemente tendrían fragmentos de struts.xml de ejemplo.

Creo que realmente no necesitaría las plantillas, así que si es posible prescindir, genial.

¿Fue útil?

Solución

Algunos comentaristas en esta publicación de blog tuvieron el mismo error que usted mencionó. ¿Tal vez una de las soluciones publicadas ayudará?

http: // cse-mjmcl .cse.bris.ac.uk / blog / 2007/09/10 / 1189430125294.html

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