###############################################################################
# Copyright (c) 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
Templates.jspscriptlet.name=Scriptlet JSP
Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
Templates.jspscriptlet.content=<% ${cursor} %>
Templates.jsphiddencomment.name=Commento JSP nascosto
Templates.jsphiddencomment.desc=Commento JSP nascosto <%-- --%>
Templates.jsphiddencomment.content=<%-- ${cursor} --%>
Templates.jspdeclaration.name=Dichiarazioni JSP
Templates.jspdeclaration.desc=Dichiarazioni JSP <%!..%>
Templates.jspdeclaration.content=<%! ${cursor} %>
Templates.jspexpression.name=Espressione JSP
Templates.jspexpression.desc=Espressione JSP <%=..%>
Templates.jspexpression.content=<%= ${cursor} %>
Templates.jspincludedirective.name=Istruzione di inclusione JSP
Templates.jspincludedirective.desc=Istruzione di inclusione JSP
Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
Templates.jsppagedirective.name=Istruzione pagina JSP
Templates.jsppagedirective.desc=Istruzione pagina JSP
Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
Templates.jsptaglibdirective.name=Istruzione taglib JSP
Templates.jsptaglibdirective.desc=Istruzione taglib JSP
Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
Templates.jspcomment.name=Commento JSP
Templates.jspcomment.desc=Commento JSP <!-- -->
Templates.jspcomment.content=<!-- ${cursor} -->
