You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jb...@apache.org on 2010/10/24 02:39:53 UTC
svn commit: r1026720 -
/tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java
Author: jboynes
Date: Sun Oct 24 00:39:53 2010
New Revision: 1026720
URL: http://svn.apache.org/viewvc?rev=1026720&view=rev
Log:
Add JSTL 1.0 ForTokens tag that uses javax.el to process EL expressions
Added:
tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java
Added: tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java?rev=1026720&view=auto
==============================================================================
--- tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java (added)
+++ tomcat/taglibs/standard/trunk/compat/src/main/java/org/apache/taglibs/standard/tag/compat/core/ForTokensTag.java Sun Oct 24 00:39:53 2010
@@ -0,0 +1,87 @@
+package org.apache.taglibs.standard.tag.compat.core;
+
+import javax.el.ExpressionFactory;
+import javax.el.ValueExpression;
+import javax.servlet.jsp.JspApplicationContext;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspFactory;
+
+import org.apache.taglibs.standard.tag.common.core.ForTokensSupport;
+import org.apache.taglibs.standard.util.ExpressionUtil;
+
+/**
+ * JSTL 1.0 compatible implementation of <fortokens> that uses JSP EL support.
+ */
+public class ForTokensTag extends ForTokensSupport {
+
+ private ValueExpression beginExpression;
+ private ValueExpression endExpression;
+ private ValueExpression stepExpression;
+ private ValueExpression itemsExpression;
+ private ValueExpression delimsExpression;
+
+ public ForTokensTag() {
+ }
+
+ @Override
+ public void release() {
+ beginExpression = null;
+ endExpression = null;
+ stepExpression = null;
+ itemsExpression = null;
+ delimsExpression = null;
+ super.release();
+ }
+
+ @Override
+ public int doStartTag() throws JspException {
+ if (beginSpecified) {
+ begin = (Integer) beginExpression.getValue(pageContext.getELContext());
+ validateBegin();
+ }
+ if (endSpecified) {
+ end = (Integer) endExpression.getValue(pageContext.getELContext());
+ validateEnd();
+ }
+ if (stepSpecified) {
+ step = (Integer) stepExpression.getValue(pageContext.getELContext());
+ validateStep();
+ }
+ if (itemsExpression != null) {
+ items = itemsExpression.getValue(pageContext.getELContext());
+ if (items == null) {
+ items = "";
+ }
+ }
+ if (delimsExpression != null) {
+ delims = (String) delimsExpression.getValue(pageContext.getELContext());
+ if (delims == null) {
+ delims = "";
+ }
+ }
+ return super.doStartTag();
+ }
+
+ public void setBegin(String begin) {
+ beginExpression = ExpressionUtil.createValueExpression(pageContext, begin, Integer.TYPE);
+ beginSpecified = true;
+ }
+
+ public void setEnd(String end) {
+ endExpression = ExpressionUtil.createValueExpression(pageContext, end, Integer.TYPE);
+ endSpecified = true;
+ }
+
+ public void setStep(String step) {
+ stepExpression = ExpressionUtil.createValueExpression(pageContext, step, Integer.TYPE);
+ stepSpecified = true;
+ }
+
+ public void setItems(String items) {
+ itemsExpression = ExpressionUtil.createValueExpression(pageContext, items, Object.class);
+ }
+
+ public void setDelims(String delims) {
+ delimsExpression = ExpressionUtil.createValueExpression(pageContext, delims, String.class);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org