###############################################################################
# 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=JSP-Scriptlet
Templates.jspscriptlet.desc=JSP-Scriptlet <%..%>
Templates.jspscriptlet.content=<% ${cursor} %>
Templates.jsphiddencomment.name=ausgeblendeter JSP-Kommentar
Templates.jsphiddencomment.desc=ausgeblendeter JSP-Kommentar <%-- --%>
Templates.jsphiddencomment.content=<%-- ${cursor} --%>
Templates.jspdeclaration.name=JSP-Deklaration(en)
Templates.jspdeclaration.desc=JSP-Deklaration(en) <%!..%>
Templates.jspdeclaration.content=<%! ${cursor} %>
Templates.jspexpression.name=JSP-Ausdruck
Templates.jspexpression.desc=JSP-Ausdruck <%=..%>
Templates.jspexpression.content=<%= ${cursor} %>
Templates.jspincludedirective.name=JSP-Include-Anweisung
Templates.jspincludedirective.desc=JSP-Include-Anweisung
Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
Templates.jsppagedirective.name=JSP-Seitenanweisung
Templates.jsppagedirective.desc=JSP-Seitenanweisung
Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
Templates.jsptaglibdirective.name=JSP-Taglib-Anweisung
Templates.jsptaglibdirective.desc=JSP-Taglib-Anweisung
Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
Templates.jspcomment.name=JSP-Kommentar
Templates.jspcomment.desc=JSP-Kommentar <!-- -->
Templates.jspcomment.content=<!-- ${cursor} -->
