diff --git a/snippets/language-java.cson b/snippets/language-java.cson
index 1f3bbb4..9001a0d 100644
--- a/snippets/language-java.cson
+++ b/snippets/language-java.cson
@@ -129,3 +129,260 @@
'while':
'prefix': 'wh'
'body': 'while ($1) {\n\t$0\n}'
+'.text.html.jsp':
+ 'el':
+ 'prefix': '$'
+ 'body': '\\${$1}'
+ 'scriptlet':
+ 'prefix': '%'
+ 'body': """
+ <%
+ \t$1
+ %>
+ """
+ 'declaration':
+ 'prefix': '%!'
+ 'body': """
+ <%!
+ \t$1
+ %>
+ """
+ 'expression':
+ 'prefix': '%='
+ 'body': """
+ <%=
+ \t$1
+ %>
+ """
+ 'comment':
+ 'prefix': '%--'
+ 'body': """
+ <%--
+ \t$1
+ --%>
+ """
+ 'declaration (xml)':
+ 'prefix': 'declaration'
+ 'body': """
+
+ \t$1
+
+ """
+ 'expression (xml)':
+ 'prefix': 'expression'
+ 'body': """
+
+ \t$1
+
+ """
+ 'scriptlet (xml)':
+ 'prefix': 'scriptlet'
+ 'body': """
+
+ \t$1
+
+ """
+ 'c:out':
+ 'prefix': 'out'
+ 'body': """
+
+ """
+ 'c:set':
+ 'prefix': 'set'
+ 'body': """
+
+ """
+ 'c:remove':
+ 'prefix': 'rm'
+ 'body': """
+
+ """
+ 'c:catch':
+ 'prefix': 'catch'
+ 'body': """
+
+ \t$2
+
+ """
+ 'c:if':
+ 'prefix': 'if'
+ 'body': """
+
+ \t$0
+
+ """
+ 'c:choose':
+ 'prefix': 'choose'
+ 'body': """
+
+ \t
+ \t\t$2
+ \t$3
+ \t
+ \t\t$4
+ \t
+
+ """
+ 'c:when':
+ 'prefix': 'when'
+ 'body': """
+
+ \t$2
+
+ """
+ 'c:otherwise':
+ 'prefix': 'other'
+ 'body': """
+
+ \t$1
+
+ """
+ 'c:forEach':
+ 'prefix': 'forEach'
+ 'body': """
+
+ \t$4
+
+ """
+ 'c:forEach':
+ 'prefix': 'forEachIn'
+ 'body': """
+
+ \t$3
+
+ """
+ 'c:forTokens':
+ 'prefix': 'forTokens'
+ 'body': """
+
+ \t$4
+
+ """
+'.text.html.jsp .entity.name.tag':
+ 'declaration (xml)':
+ 'prefix': '
+ \t$1
+
+ """
+ 'expression (xml)':
+ 'prefix': '
+ \t$1
+
+ """
+ 'scriptlet (xml)':
+ 'prefix': '
+ \t$1
+
+ """
+ 'c:out':
+ 'prefix': '
+ """
+ 'c:set':
+ 'prefix': '
+ """
+ 'c:remove':
+ 'prefix': '
+ """
+ 'c:catch':
+ 'prefix': '
+ \t$2
+
+ """
+ 'c:if':
+ 'prefix': '
+ \t$0
+
+ """
+ 'c:choose':
+ 'prefix': '
+ \t
+ \t\t$2
+ \t$3
+ \t
+ \t\t$4
+ \t
+
+ """
+ 'c:when':
+ 'prefix': '
+ \t$2
+
+ """
+ 'c:otherwise':
+ 'prefix': '
+ \t$1
+
+ """
+ 'c:forEach':
+ 'prefix': '
+ \t$4
+
+ """
+ 'c:forEach':
+ 'prefix': '
+ \t$3
+
+ """
+ 'c:forTokens':
+ 'prefix': '
+ \t$4
+
+ """
+'.text.html.jsp .punctuation.begin':
+ 'scriptlet':
+ 'prefix': '<%'
+ 'body': """
+ <%
+ \t$1
+ %>
+ """
+ 'declaration':
+ 'prefix': '<%!'
+ 'body': """
+ <%!
+ \t$1
+ %>
+ """
+ 'expression':
+ 'prefix': '<%='
+ 'body': """
+ <%=
+ \t$1
+ %>
+ """
+'.text.html.jsp .punctuation.comment':
+ 'comment':
+ 'prefix': '<%--'
+ 'body': """
+ <%--
+ \t$1
+ --%>
+ """