scriptlets - paginas jsp java
¿Los métodos son legales dentro del scriptlet de JSP? (2)
Sé que no es recomendable, y debería usar librerías de etiquetas, etc.
Pero aún me gustaría saber si es legal declarar métodos en un scriplet JSP:
<%
public String doSomething(String param) {
//
}
String test = doSomething("test");
%>
Es eso legal? Estoy recibiendo algunos errores de compilación raros (como a ; is expected
) que no parecen encajar. Gracias.
Necesita usar la sintaxis de declaración ( <%! ... %>
):
<%!
public String doSomething(String param) {
//
}
%>
<%
String test = doSomething("test");
%>
Comprenda el funcionamiento de jsp : Tomcat convierte todo el JSP en una clase Java. Esta clase de Java no es más que el Servlet. Por lo tanto, será el servlet el que ejecutará al final.
Ahora considere que está escribiendo un código Jsp que imprime la suma de 2 números, pasado en un método
<body>
<%!
public int add(int a,int b)
{
return a+b;
}
%>
<%
int k;
k=add(5,6);
%>
<%=
k
%>
</body>
Entonces, si escribiera el mismo código que imprime la suma de 2 números en un servlet, probablemente lo escriba en el método doGet ().
La razón por la que obtendría un error es que está definiendo un método dentro de otro método (que infringe la regla de las definiciones de métodos).
Por lo tanto, ponemos el método en la etiqueta de definición para que si se forma un nuevo método