###############################################################################
# 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=JSP \u96b1\u85cf\u8a3b\u89e3
Templates.jsphiddencomment.desc=JSP \u96b1\u85cf\u8a3b\u89e3 <%-- --%>
Templates.jsphiddencomment.content=<%-- ${cursor} --%>
Templates.jspdeclaration.name=JSP \u5ba3\u544a
Templates.jspdeclaration.desc=JSP \u5ba3\u544a <%!..%>
Templates.jspdeclaration.content=<%! ${cursor} %>
Templates.jspexpression.name=JSP \u8868\u793a\u5f0f
Templates.jspexpression.desc=JSP \u8868\u793a\u5f0f <%=..%>
Templates.jspexpression.content=<%= ${cursor} %>
Templates.jspincludedirective.name=JSP include \u6307\u5f15
Templates.jspincludedirective.desc=JSP include \u6307\u5f15
Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
Templates.jsppagedirective.name=JSP page \u6307\u5f15
Templates.jsppagedirective.desc=JSP page \u6307\u5f15
Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
Templates.jsptaglibdirective.name=JSP taglib \u6307\u5f15
Templates.jsptaglibdirective.desc=JSP taglib \u6307\u5f15
Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
Templates.jspcomment.name=JSP \u8a3b\u89e3
Templates.jspcomment.desc=JSP \u8a3b\u89e3 <!-- -->
Templates.jspcomment.content=<!-- ${cursor} -->
