diff --git a/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml b/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml
new file mode 100644
index 000000000..04b1c4b67
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml
@@ -0,0 +1,4 @@
+
+
+
diff --git a/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp b/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp
new file mode 100644
index 000000000..9df4c5a62
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp
@@ -0,0 +1,16 @@
+<%@ page language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-template.tld" prefix="template" %>
+
+
+shouldnt compile
+
+
+
+
+This page should not compile because refers to TLDs that arent around.
+
+
+
+
diff --git a/src/etc/testcases/taskdefs/optional/jsp/simple.jsp b/src/etc/testcases/taskdefs/optional/jsp/simple.jsp
new file mode 100644
index 000000000..14851f0c5
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/jsp/simple.jsp
@@ -0,0 +1,9 @@
+<%@ page language="java" %>
+
+
+
+It is now <%= System.currentTimeMillis() %>
+
+
+
diff --git a/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp b/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp
new file mode 100644
index 000000000..14851f0c5
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp
@@ -0,0 +1,9 @@
+<%@ page language="java" %>
+
+
+
+It is now <%= System.currentTimeMillis() %>
+
+
+
diff --git a/src/etc/testcases/taskdefs/optional/jspc.xml b/src/etc/testcases/taskdefs/optional/jspc.xml
new file mode 100644
index 000000000..0c77ac32c
--- /dev/null
+++ b/src/etc/testcases/taskdefs/optional/jspc.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+