{"id":10473,"date":"2015-08-28T09:16:13","date_gmt":"2015-08-28T13:16:13","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/?p=10473"},"modified":"2015-08-24T10:29:31","modified_gmt":"2015-08-24T14:29:31","slug":"iftag-java-ifconditiontag-java-ifthentag-java-and-ifelsetag-java-custom-tags-that-make-use-of-tag-nesting","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=10473","title":{"rendered":"IfTag.java, IfConditionTag.java, IfThenTag.java, and IfElseTag.java, Custom tags that make use of tag nesting"},"content":{"rendered":"<pre>IfTag.java, IfConditionTag.java, IfThenTag.java, and IfElseTag.java, Custom tags that make use of tag nesting\r\n\r\n\r\nIfTag.java\r\n\r\npackage cwp.tags;\r\n\r\nimport javax.servlet.jsp.*;\r\nimport javax.servlet.jsp.tagext.*;\r\nimport java.io.*;\r\nimport javax.servlet.*;\r\n\r\n\/** A tag that acts like an if\/then\/else.\r\n\u00a0*\u00a0 &lt;P&gt;\r\n\u00a0*\u00a0 Taken from Core Web Programming Java 2 Edition\r\n\u00a0*\u00a0 from Prentice Hall and Sun Microsystems Press,\r\n\u00a0*\u00a0 .\r\n\u00a0*\u00a0 May be freely used or adapted.\r\n\u00a0*\/\r\n\r\npublic class IfTag extends TagSupport {\r\n\u00a0 private boolean condition;\r\n\u00a0 private boolean hasCondition = false;\r\n\r\n\u00a0 public void setCondition(boolean condition) {\r\n\u00a0\u00a0\u00a0 this.condition = condition;\r\n\u00a0\u00a0\u00a0 hasCondition = true;\r\n\u00a0 }\r\n\r\n\u00a0 public boolean getCondition() {\r\n\u00a0\u00a0\u00a0 return(condition);\r\n\u00a0 }\r\n\r\n\u00a0 public void setHasCondition(boolean flag) {\r\n\u00a0\u00a0\u00a0 this.hasCondition = flag;\r\n\u00a0 }\r\n\r\n\u00a0 \/** Has the condition field been explicitly set? *\/\r\n\r\n\u00a0 public boolean hasCondition() {\r\n\u00a0\u00a0\u00a0 return(hasCondition);\r\n\u00a0 }\r\n\r\n\u00a0 public int doStartTag() {\r\n\u00a0\u00a0\u00a0 return(EVAL_BODY_INCLUDE);\r\n\u00a0 }\r\n}\r\n\r\n\r\npackage cwp.tags;\r\n\r\nimport javax.servlet.jsp.*;\r\nimport javax.servlet.jsp.tagext.*;\r\nimport java.io.*;\r\nimport javax.servlet.*;\r\n\r\n\/** The condition part of an if tag.\r\n\u00a0*\u00a0 &lt;P&gt;\r\n\u00a0*\u00a0 Taken from Core Web Programming Java 2 Edition\r\n\u00a0*\u00a0 from Prentice Hall and Sun Microsystems Press,\r\n\u00a0*\u00a0 .\r\n\u00a0*\u00a0 May be freely used or adapted.\r\n\u00a0*\/\r\n\r\npublic class IfConditionTag extends BodyTagSupport {\r\n\u00a0 public int doStartTag() throws JspTagException {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 if (parent == null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 throw new JspTagException(\"condition not inside if\");\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(EVAL_BODY_TAG);\r\n\u00a0 }\r\n\r\n\u00a0 public int doAfterBody() {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 String bodyString = getBodyContent().getString();\r\n\u00a0\u00a0\u00a0 if (bodyString.trim().equals(\"true\")) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 parent.setCondition(true);\r\n\u00a0\u00a0\u00a0 } else {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 parent.setCondition(false);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(SKIP_BODY);\r\n\u00a0 }\r\n}\r\n\r\npackage cwp.tags;\r\n\r\nimport javax.servlet.jsp.*;\r\nimport javax.servlet.jsp.tagext.*;\r\nimport java.io.*;\r\nimport javax.servlet.*;\r\n\r\n\/** The else part of an if tag.\r\n\u00a0*\u00a0 &lt;P&gt;\r\n\u00a0*\u00a0 Taken from Core Web Programming Java 2 Edition\r\n\u00a0*\u00a0 from Prentice Hall and Sun Microsystems Press,\r\n\u00a0*\u00a0 .\r\n\u00a0*\u00a0 May be freely used or adapted.\r\n\u00a0*\/\r\n\r\npublic class IfElseTag extends BodyTagSupport {\r\n\u00a0 public int doStartTag() throws JspTagException {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 if (parent == null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 throw new JspTagException(\"else not inside if\");\r\n\u00a0\u00a0\u00a0 } else if (!parent.hasCondition()) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 String warning =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"condition tag must come before else tag\";\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 throw new JspTagException(warning);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(EVAL_BODY_TAG);\r\n\u00a0 }\r\n\r\n\u00a0 public int doAfterBody() {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 if (!parent.getCondition()) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 try {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BodyContent body = getBodyContent();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JspWriter out = body.getEnclosingWriter();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 out.print(body.getString());\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 } catch(IOException ioe) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(\"Error in IfElseTag: \" + ioe);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(SKIP_BODY);\r\n\u00a0 }\r\n}\r\n\r\npackage cwp.tags;\r\n\r\nimport javax.servlet.jsp.*;\r\nimport javax.servlet.jsp.tagext.*;\r\nimport java.io.*;\r\nimport javax.servlet.*;\r\n\r\n\/** The then part of an if tag.\r\n\u00a0*\u00a0 &lt;P&gt;\r\n\u00a0*\u00a0 Taken from Core Web Programming Java 2 Edition\r\n\u00a0*\u00a0 from Prentice Hall and Sun Microsystems Press,\r\n\u00a0*\u00a0 .\r\n\u00a0*\u00a0 May be freely used or adapted.\r\n\u00a0*\/\r\n\r\npublic class IfThenTag extends BodyTagSupport {\r\n\u00a0 public int doStartTag() throws JspTagException {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 if (parent == null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 throw new JspTagException(\"then not inside if\");\r\n\u00a0\u00a0\u00a0 } else if (!parent.hasCondition()) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 String warning =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"condition tag must come before then tag\";\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 throw new JspTagException(warning);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(EVAL_BODY_TAG);\r\n\u00a0 }\r\n\r\n\u00a0 public int doAfterBody() {\r\n\u00a0\u00a0\u00a0 IfTag parent =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (IfTag)findAncestorWithClass(this, IfTag.class);\r\n\u00a0\u00a0\u00a0 if (parent.getCondition()) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 try {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BodyContent body = getBodyContent();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JspWriter out = body.getEnclosingWriter();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 out.print(body.getString());\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 } catch(IOException ioe) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(\"Error in IfThenTag: \" + ioe);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 return(SKIP_BODY);\r\n\u00a0 }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>IfTag.java, IfConditionTag.java, IfThenTag.java, and IfElseTag.java, Custom tags that make use of tag nesting IfTag.java package cwp.tags; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.*; import javax.servlet.*; \/** A tag that acts like an if\/then\/else. \u00a0*\u00a0 &lt;P&gt; \u00a0*\u00a0 Taken from Core Web Programming Java 2 Edition \u00a0*\u00a0 from Prentice Hall and Sun Microsystems Press, \u00a0*\u00a0 . \u00a0*\u00a0 May &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=10473\">Continue reading<\/a><\/p>\n","protected":false},"author":130,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1417,1424],"tags":[706,308,285],"class_list":["post-10473","post","type-post","status-publish","format-standard","hentry","category-code-programming-samples--","category-javaj2eej2me","tag-code","tag-java","tag-285","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":27129,"url":"http:\/\/bangla.sitestree.com\/?p=27129","url_meta":{"origin":10473,"position":0},"title":"IfTag.java, IfConditionTag.java, IfThenTag.java, and IfElseTag.java, Custom tags that make use of tag nesting #Programming Code Examples #Java\/J2EE\/J2ME #Applets and Basic Graphics","author":"Author-Check- Article-or-Video","date":"May 11, 2021","format":false,"excerpt":"IfTag.java, IfConditionTag.java, IfThenTag.java, and IfElseTag.java, Custom tags that make use of tag nesting IfTag.java package cwp.tags; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.*; import javax.servlet.*; \/** A tag that acts like an if\/then\/else. * <P> * Taken from Core Web Programming Java 2 Edition * from Prentice Hall and Sun Microsystems\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27192,"url":"http:\/\/bangla.sitestree.com\/?p=27192","url_meta":{"origin":10473,"position":1},"title":"JTable Examples #Programming Code Examples #Java\/J2EE\/J2ME #Advanced Swing","author":"Author-Check- Article-or-Video","date":"May 13, 2021","format":false,"excerpt":"# JTableSimpleExample.java Simple table that takes column names and data from arrays of Strings. import java.awt.*; import javax.swing.*; \/** Simple JTable example that uses a String array for the * table header and table data. * *\/ public class JTableSimpleExample extends JFrame { public static void main(String[] args) { new\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27152,"url":"http:\/\/bangla.sitestree.com\/?p=27152","url_meta":{"origin":10473,"position":2},"title":"Loading Images #Programming Code Examples #Java\/J2EE\/J2ME #Applets and Basic Graphics","author":"Author-Check- Article-or-Video","date":"May 12, 2021","format":false,"excerpt":"JavaMan1.java Applet that loads an image from a relative URL. ************************************************************* import java.applet.Applet; import java.awt.*; \/** An applet that loads an image from a relative URL. * >>>>>>>>>>>>>>>>>>> public class JavaMan1 extends Applet { private Image javaMan; public void init() { javaMan = getImage(getCodeBase(),\"images\/Java-Man.gif\"); } public void paint(Graphics g) {\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10487,"url":"http:\/\/bangla.sitestree.com\/?p=10487","url_meta":{"origin":10473,"position":3},"title":"Loading Images","author":"","date":"August 29, 2015","format":false,"excerpt":"JavaMan1.java Applet that loads an image from a relative URL. ************************************************************* import java.applet.Applet; import java.awt.*; \/** An applet that loads an image from a relative URL. \u00a0* >>>>>>>>>>>>>>>>>>> public class JavaMan1 extends Applet { \u00a0 private Image javaMan; \u00a0 public void init() { \u00a0\u00a0\u00a0 javaMan = getImage(getCodeBase(),\"images\/Java-Man.gif\"); \u00a0 } \u00a0\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26856,"url":"http:\/\/bangla.sitestree.com\/?p=26856","url_meta":{"origin":10473,"position":4},"title":"DOM example that represents the basic structure of an XML document as a JTree #Programming Code Examples #Java\/J2EE\/J2ME #JavaScript","author":"Author-Check- Article-or-Video","date":"May 3, 2021","format":false,"excerpt":"\/\/XMLTree.java \/\/Uses the following files Uses the following files: * XMLFrame.java:Swing application to select an XML document and display in a JTree. ExtensionFileFilter.java Allows you to specify which file extensions will be displayed in a JFileChooser. test.xml Default file loaded if none selected by user. perennials.xml and perennials.dtd Data on\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10425,"url":"http:\/\/bangla.sitestree.com\/?p=10425","url_meta":{"origin":10473,"position":5},"title":"The class that actually gets the strings over the network by means of an ObjectInputStream via HTTP tunneling.","author":"","date":"August 28, 2015","format":false,"excerpt":"import java.net.*; import java.io.*; \/** When this class is built, it returns a value \u00a0*\u00a0 immediately, but this value returns false for isDone \u00a0*\u00a0 and null for getQueries. Meanwhile, it starts a Thread \u00a0*\u00a0 to request an array of query strings from the server, \u00a0*\u00a0 reading them in one fell\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10473"}],"version-history":[{"count":2,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10473\/revisions"}],"predecessor-version":[{"id":10475,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10473\/revisions\/10475"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10473"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}