Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

266
Vistas
¿Cómo escribir el código JSP dentro de una declaración if de Javascript?

¡Espero que todos lo estén haciendo bien!

Me preguntaba si había una manera de escribir código JSP dentro de una declaración if de Javascript.

Por ejemplo, el método testVoid() de la clase funStuff.java cambia una cierta cadena en la clase y luego retK() devuelve esa cadena.

Sin embargo, el código JSP se ejecuta independientemente de la condición en la sentencia if. Vi otra publicación que decía que usar JSTL podría resolver esto, pero no estoy seguro de cómo escribir el segmento de código deseado usando JSTL.

¡Cualquier ayuda sería apreciada! ¡Gracias!

 <script> if (false) { <% funStuff.testVoid(); %> } console.log('<%= funStuff.retK() %>'); </script>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Me preguntaba si había una manera de escribir código JSP dentro de una declaración if de Javascript.

No, esto no es posible.

En un nivel alto, una vez que la solicitud llega al servidor:

  1. El servidor ejecuta cualquier JSP y produce una nueva página. Después de este paso, todas las cosas de JSP están completas.
  2. El servidor envía esa página generada al cliente.
  3. El cliente (navegador) ve la página, tal vez ejecute Javascript (si está presente)

Su comportamiento deseado es:

  1. El código Javascript se ejecuta primero, verifica la condición de la declaración if , luego continúa con el cuerpo de la declaración if solo cuando la "condición" es verdadera.
  2. Código JSP dentro de Javascript if se ejecuta el bloque

El comportamiento real es:

  1. El código JSP se ejecuta primero, sin importar cuál sea la lógica de código prevista. Todos los JSP de toda la página se ejecutarán primero, siempre.
  2. La salida del código JSP se mezcla con el resto del HTML+Javascript estático en la aplicación.
  3. El navegador se involucra por primera vez, viendo la página recién creada: salida JSP + HTML estático y Javascript.
  4. El navegador ejecuta cualquier Javascript en la página.

Su ejemplo comienza así como JSP:

 <script> if (false) { <% funStuff.testVoid(); %> } console.log('<%= funStuff.retK() %>'); </script>

El servidor evaluará los bits JSP <% ... %> , por lo que, por ejemplo, suponga que:

  • funStuff.testVoid() devuelve "xyz"
  • funStuff.retK() devuelve "K"

entonces el servidor producirá esto:

 <script> if (false) { xyz } console.log('K'); </script>

El navegador recibirá el resultado como se indicó anteriormente, sin tener conocimiento de que "xyz" o "K" se generaron sobre la marcha en lugar de escribirse previamente en la página, o que los scriptlets JSP estuvieron involucrados de alguna manera.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda