初始提交
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
new file mode 100644
index 0000000..0b15181
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
@@ -0,0 +1,38 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class FooBean {
+ private String bar;
+
+ public FooBean() {
+ bar = "Initial value";
+ }
+
+ public String getBar() {
+ return this.bar;
+ }
+
+ public void setBar(String bar) {
+ this.bar = bar;
+ }
+
+}
+</pre></body></html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
new file mode 100644
index 0000000..c409839
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+ public void doTag() throws JspException, IOException {
+ getJspContext().getOut().write( "Hello, world!" );
+ }
+}
+</pre></body></html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
new file mode 100644
index 0000000..1b66d06
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
@@ -0,0 +1,83 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.JspFragment;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts takes three attributes of type
+ * JspFragment and invokes then in a random order.
+ */
+public class ShuffleSimpleTag extends SimpleTagSupport {
+ private JspFragment fragment1;
+ private JspFragment fragment2;
+ private JspFragment fragment3;
+
+ public void doTag() throws JspException, IOException {
+ switch( (int)(Math.random() * 6) ) {
+ case 0:
+ fragment1.invoke( null );
+ fragment2.invoke( null );
+ fragment3.invoke( null );
+ break;
+ case 1:
+ fragment1.invoke( null );
+ fragment3.invoke( null );
+ fragment2.invoke( null );
+ break;
+ case 2:
+ fragment2.invoke( null );
+ fragment1.invoke( null );
+ fragment3.invoke( null );
+ break;
+ case 3:
+ fragment2.invoke( null );
+ fragment3.invoke( null );
+ fragment1.invoke( null );
+ break;
+ case 4:
+ fragment3.invoke( null );
+ fragment1.invoke( null );
+ fragment2.invoke( null );
+ break;
+ case 5:
+ fragment3.invoke( null );
+ fragment2.invoke( null );
+ fragment1.invoke( null );
+ break;
+ }
+ }
+
+ public void setFragment1( JspFragment fragment1 ) {
+ this.fragment1 = fragment1;
+ }
+
+ public void setFragment2( JspFragment fragment2 ) {
+ this.fragment2 = fragment2;
+ }
+
+ public void setFragment3( JspFragment fragment3 ) {
+ this.fragment3 = fragment3;
+ }
+}
+</pre></body></html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
new file mode 100644
index 0000000..4453222
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
@@ -0,0 +1,48 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * Displays a tile as a single cell in a table.
+ */
+public class TileSimpleTag extends SimpleTagSupport {
+ private String color;
+ private String label;
+
+ public void doTag() throws JspException, IOException {
+ getJspContext().getOut().write(
+ "<td width=\"32\" height=\"32\" bgcolor=\"" + this.color +
+ "\"><font color=\"#ffffff\"><center>" + this.label +
+ "</center></font></td>" );
+ }
+
+ public void setColor( String color ) {
+ this.color = color;
+ }
+
+ public void setLabel( String label ) {
+ this.label = label;
+ }
+}
+</pre></body></html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html
new file mode 100644
index 0000000..b949da9
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="jspattribute.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="jspattribute.jsp.html">Source Code for jspattribute.jsp<font color="#0000FF"></a>
+ </font> </h3>
+
+<h3><a href="HelloWorldSimpleTag.java.html">Source Code for HelloWorldSimpleTag.java<font color="#0000FF"></a>
+ </font> </h3>
+
+<h3><a href="FooBean.java.html">Source Code for FooBean.java<font color="#0000FF"></a>
+ </font> </h3>
+
+</body>
+</html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
new file mode 100644
index 0000000..64b6d6e
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
@@ -0,0 +1,46 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>
+
+<html>
+ <head>
+ <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title>
+ </head>
+ <body>
+ <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1>
+ <hr>
+ <p>The new <jsp:attribute> and <jsp:body>
+ standard actions can be used to specify the value of any standard
+ action or custom action attribute.</p>
+ <p>This example uses the <jsp:attribute>
+ standard action to use the output of a custom action invocation
+ (one that simply outputs "Hello, World!") to set the value of a
+ bean property. This would normally require an intermediary
+ step, such as using JSTL's <c:set> action.</p>
+ <br>
+ <jsp:useBean id="foo" class="jsp2.examples.FooBean">
+ Bean created! Setting foo.bar...<br>
+ <jsp:setProperty name="foo" property="bar">
+ <jsp:attribute name="value">
+ <my:helloWorld/>
+ </jsp:attribute>
+ </jsp:setProperty>
+ </jsp:useBean>
+ <br>
+ Result: ${foo.bar}
+ </body>
+</html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
new file mode 100644
index 0000000..eb3a927
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
@@ -0,0 +1,48 @@
+<html><body><pre>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>
+
+<html>
+ <head>
+ <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title>
+ </head>
+ <body>
+ <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1>
+ <hr>
+ <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt;
+ standard actions can be used to specify the value of any standard
+ action or custom action attribute.</p>
+ <p>This example uses the &lt;jsp:attribute&gt;
+ standard action to use the output of a custom action invocation
+ (one that simply outputs "Hello, World!") to set the value of a
+ bean property. This would normally require an intermediary
+ step, such as using JSTL's &lt;c:set&gt; action.</p>
+ <br>
+ <jsp:useBean id="foo" class="jsp2.examples.FooBean">
+ Bean created! Setting foo.bar...<br>
+ <jsp:setProperty name="foo" property="bar">
+ <jsp:attribute name="value">
+ <my:helloWorld/>
+ </jsp:attribute>
+ </jsp:setProperty>
+ </jsp:useBean>
+ <br>
+ Result: ${foo.bar}
+ </body>
+</html>
+</pre></body></html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.html
new file mode 100644
index 0000000..b7a4cb6
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.html
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="shuffle.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="shuffle.jsp.html">Source Code for shuffle.jsp<font color="#0000FF"></a>
+ </font> </h3>
+
+<h3><a href="ShuffleSimpleTag.java.html">Source Code for ShuffleSimpleTag.java<font color="#0000FF"></a>
+ </font> </h3>
+
+<h3><a href="TileSimpleTag.java.html">Source Code for TileSimpleTag.java<font color="#0000FF"></a>
+ </font> </h3>
+
+</body>
+</html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
new file mode 100644
index 0000000..2a318a7
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
@@ -0,0 +1,90 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>
+
+<html>
+ <head>
+ <title>JSP 2.0 Examples - Shuffle Example</title>
+ </head>
+ <body>
+ <h1>JSP 2.0 Examples - Shuffle Example</h1>
+ <hr>
+ <p>Try reloading the page a few times. Both the rows and the columns
+ are shuffled and appear different each time.</p>
+ <p>Here's how the code works. The SimpleTag handler called
+ <my:shuffle> accepts three attributes. Each attribute is a
+ JSP Fragment, meaning it is a fragment of JSP code that can be
+ dynamically executed by the shuffle tag handler on demand. The
+ shuffle tag handler executes the three fragments in a random order.
+ To shuffle both the rows and the columns, the shuffle tag is used
+ with itself as a parameter.</p>
+ <hr>
+ <blockquote>
+ <font color="#ffffff">
+ <table>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="A"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="B"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="C"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="1"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="2"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="3"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="!"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="@"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="#"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ </my:shuffle>
+ </table>
+ </font>
+ </blockquote>
+ </body>
+</html>
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
new file mode 100644
index 0000000..9329285
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
@@ -0,0 +1,92 @@
+<html><body><pre>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>
+
+<html>
+ <head>
+ <title>JSP 2.0 Examples - Shuffle Example</title>
+ </head>
+ <body>
+ <h1>JSP 2.0 Examples - Shuffle Example</h1>
+ <hr>
+ <p>Try reloading the page a few times. Both the rows and the columns
+ are shuffled and appear different each time.</p>
+ <p>Here's how the code works. The SimpleTag handler called
+ &lt;my:shuffle&gt; accepts three attributes. Each attribute is a
+ JSP Fragment, meaning it is a fragment of JSP code that can be
+ dynamically executed by the shuffle tag handler on demand. The
+ shuffle tag handler executes the three fragments in a random order.
+ To shuffle both the rows and the columns, the shuffle tag is used
+ with itself as a parameter.</p>
+ <hr>
+ <blockquote>
+ <font color="#ffffff">
+ <table>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="A"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="B"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="C"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="1"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="2"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="3"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <tr>
+ <my:shuffle>
+ <jsp:attribute name="fragment1">
+ <my:tile color="#ff0000" label="!"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment2">
+ <my:tile color="#00ff00" label="@"/>
+ </jsp:attribute>
+ <jsp:attribute name="fragment3">
+ <my:tile color="#0000ff" label="#"/>
+ </jsp:attribute>
+ </my:shuffle>
+ </tr>
+ </jsp:attribute>
+ </my:shuffle>
+ </table>
+ </font>
+ </blockquote>
+ </body>
+</html>
+</pre></body></html>