Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Hola mundo con Scriptlet
Hola mundo con Scriptlet
Comentarios
<h1>Página con comentarios</h1>
<%
//Esto es un comentario de una sola línea
/*
* y esto un comentario de varias líneas
*/
%>
Variables en Scriplet
<h1>JSP Scriplet</h1>
<%
String texto = "Soy una cadena";
int i = 5;
int j = 3;
%>
<%=texto %><br/>
<%=i %>+<%=j %>=<br/>
<%=i+j %><br/>
<%=i+""+j %>
El contenedor transforma un JSP en un servlet
JSP Servlet
public class basicCounter_jsp extends SomeSpecialHttpServlet{
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
throws java.io.IOException, ServletException{
PrintWriter out = response.getWriter();
response.setContenType("text/html");
<html><body> -> out.println("<html><body>");
<% int count=0; %> -> int count = 0;
This page count is now: -> out.write("This page count is now:");
<%= ++ count %> -> out.print(++count);
</body></html> -> out.write("</body></html>");
Todo el código de un scriplet cae dentro del método service.
Por tanto, las variables declaradas en un scriplet son locales.
Declaración de variables y métodos miembro
Todo lo que vaya precedido de una admiración irá declarado directamente dentro de la clase, por tanto usaré el signo de exclamación para declarar variables miembro y métodos
<html>
<body> public class basicCounter_jsp extends SomeSpecialHttpServlet{
<%! int doubleCount(){ int doubleCount(){
count = count*2; count = count*2;
return count; return count;
} }
%>
<%! int count=1; %> int count=1;
public void _jspService(HttpServletRequest request,
HttpServletResponse response throws java.io.IOException){
PrintWriter out = response.getWriter();
response.setContentType("text/html");
out.write("<html><body>");
The page count is now: out.write("The page count is now:");
<%= doubleCount() %> out.print(doubleCount());
</body> out.write("</body></html>");
</html>
Objetos implícitos
JspWriter -> out
HttpServletRequest -> request
HttpServletResponse -> response
HttpSession -> session
ServletContext -> application
ServletConfig -> config
Throwable -> exception
JSP API
jspInit(); -> ejecutado al cargar el jsp jspDestroy(); -> ejecutado tras cargar el jsp _jspService(); -> desde aquí se llama al código del jsp.
Desventajas de los scriplets
- Son difíciles de comprender por alguien que no sea programador java.
- Es necesario hacer el Casting de objetos y esto ocasiona que tengamos que importar más Clases en los JSP. En el siguiente ejemplo habrá que importar la clase Libro.
<% Libro libro = (Libro)request.getAttribute("libro"); %>
<%=libro.getTitulo()%><br/>