Estoy haciendo conversión a imagen y PDF. Necesito un documento HTML de entrada generado por nuestras aplicaciones JSP. Básicamente, necesito renderizar el producto de salida final de una aplicación basada en JSP en una Cadena o memoria y luego usar esa cadena para otro procesamiento.compilación JSP en cadena o en memoria bytearray con Tomcat/Websphere
¿De qué manera puedo invocar el renderizador JSP para obtener el contenido HTML final que normalmente se envía al usuario? Idealmente, estoy buscando algo que funcione para múltiples servidores de aplicaciones como websphere. Pero algo que es específico de Tomcat también funcionará.
Hay un par de enfoques diferentes, pero creo que renderizar el JSP (que puede incluir sub JSP) es el mejor enfoque.
Rutas opcionales de las que preferiría no estar.
pude realizar una solicitud de red a la página utilizando las API de socket y después lee el resultado final que se representa a partir de esa página en particular. Esta es probablemente la siguiente mejor opción, pero trabajamos en varios servidores y JVM, la orientación de la página que necesito sería complicada.
Utilice un filtro para obtener la salida de la página final. Ok, pero siempre he tenido problemas con los filtros y lasexcepciones ilegales. Parece que nunca funciona al 100% de la manera que necesito.
Parece que esto debería ser simple. El compilador JSP es esencialmente solo una biblioteca para analizar un documento JSP de entrada y subdocumentos y luego generar contenido HTML. Me gustaría invocar ese proceso a través del código Java. En el servidor y posiblemente como una aplicación de consola independiente.
+1 Me pegó. –
Tengo la sensación de que todos tienen la misma solución espantosa. – skaffman
Ese es un buen enfoque. Algo así como el enfoque orientado al "filtro". Pero el único problema con esto, hay dos problemas. 1. No puede ejecutar esto como un sistema independiente. P.ej.no se puede hacer: main() {compileJSP()} 2. Si usa esto dentro del código de filtro, algunos servidores de aplicación son nimpicking sobre el estado de la envoltura de solicitud y tiendo a obtenerexcepcionessexuales y no puedo obtener el JSP para renderizar en una cadena (esencialmente cuando lo hago esto nunca es sencillo). Pero, sí, esa es una buena solución. –