title: Unable to find setter method for attribute in jstl
body: <p>I'm having trouble with a custom tag.  i am getting this error </p>
  
  <pre><code>/test.jsp (line: 10, column: 4) Unable to find setter method for attribute: url
  </code></pre>
  
  <p>Here is Code :</p>
  
  <p>The TagHandlerClass :</p>
  
  <pre><code>package net.viralpatel.jsp.custom.taglib;
  
  import java.io.IOException;
  
  import javax.servlet.jsp.JspException;
  import javax.servlet.jsp.JspWriter;
  import javax.servlet.jsp.tagext.TagSupport;
  
  public class SubstrTagHandler extends TagSupport {
      /**
       *
       */
      private static final long serialVersionUID = 1L;
  
      private String url;
      private String videoId;
      private String listId;
      private boolean bOpenNewWindow;
  
      public String getUrl() {
          return url;
      }
  
      public void setUrl(String url) {
          this.url = url;
      }
  
      public String getVideoId() {
          return videoId;
      }
  
      public void setVideoId(String videoId) {
          this.videoId = videoId;
      }
  
      public String getListId() {
          return listId;
      }
  
      public void setListId(String listId) {
          this.listId = listId;
      }
  
      public boolean isbOpenNewWindow() {
          return bOpenNewWindow;
      }
  
      public void setbOpenNewWindow(boolean bOpenNewWindow) {
          this.bOpenNewWindow = bOpenNewWindow;
      }
  
      public int doStartTag() throws JspException {
          try {
              //Get the writer object for output.
              JspWriter out = pageContext.getOut();
  
              if (null != url &amp;&amp; !url.trim().equals("")) {
                  StringBuffer resultURL = new StringBuffer();
                  resultURL.append("&lt;a href=" + url);
  
                  //this is internal URL and not poiniting to dam so need to append .html
                  if (url.startsWith("/") &amp;&amp; !url.contains("/dam/")) {
                      resultURL.append(".html");
  
                  }
                  if ((videoId != null &amp;&amp; !videoId.trim().equals("")) || (listId != null &amp;&amp; !listId.trim().equals(""))) {
                      if ((videoId != null &amp;&amp; !videoId.trim().equals(""))) {
                          resultURL.append("?vcID=" + videoId);
                      } else if (listId != null &amp;&amp; !listId.trim().equals("")) {
                          resultURL.append("?listID=" + listId);
                      }
                  }
                  if (bOpenNewWindow) {
                      resultURL.append(" target=_blank");
                  }
  
                  resultURL.append("&gt;&lt;/a&gt;");
                  //Perform substr operation on string.
                  out.println(resultURL);
              }
  
          } catch (IOException e) {
              e.printStackTrace();
          }
          return SKIP_BODY;
      }
  }
  </code></pre>
  
  <p>My TLD FIle:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;taglib&gt; 
  &lt;tlibversion&gt;1.0&lt;/tlibversion&gt;
  &lt;jspversion&gt;1.1&lt;/jspversion&gt;
  &lt;shortname&gt;Sublink&lt;/shortname&gt;
  &lt;info&gt;Sample taglib for Video Link operation&lt;/info&gt;
  &lt;tag&gt;
      &lt;name&gt;link&lt;/name&gt;
      &lt;tagclass&gt;net.viralpatel.jsp.custom.taglib.SubstrTagHandler&lt;/tagclass&gt;
      &lt;info&gt;Substring function.&lt;/info&gt;
      &lt;attribute&gt;
        &lt;name&gt;url&lt;/name&gt;
        &lt;required&gt;false&lt;/required&gt;
    &lt;/attribute&gt;
      &lt;attribute&gt;
        &lt;name&gt;videoId&lt;/name&gt;
        &lt;required&gt;false&lt;/required&gt;
    &lt;/attribute&gt;
      &lt;attribute&gt;
        &lt;name&gt;listId&lt;/name&gt;
        &lt;required&gt;false&lt;/required&gt;
    &lt;/attribute&gt;
    &lt;attribute&gt;
       &lt;name&gt;bOpenNewWindow&lt;/name&gt;
        &lt;required&gt;false&lt;/required&gt;
    &lt;/attribute&gt;
  &lt;/tag&gt;
  &lt;/taglib&gt;
  </code></pre>
  
  <p>Here is JSP File</p>
  
  <pre><code>&lt;%@taglib prefix="test" uri="/WEB-INF/lib/SubstrLink.tld"%&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;title&gt;JSP Custom Taglib example: Substr function&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
      SUBSTR(GOODMORNING, 1, 6) is 
      &lt;font color="blue"&gt;
      &lt;test:link url="www.google.com" videoId="1" listId="6" bOpenNewWindow="true"/&gt;
      &lt;/font&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>