4 Replies Latest reply: May 8, 2009 1:52 PM by 807575 RSS

    My First Custom JSF Component

    807575
      I am trying to get a Custom component to work in Netbeans 6.1 if somebody can please look at my code and tell me where I am going wrong, I would be very appreciative . . .

      Sorry there is so much code, but I'm sure all is relevant.

      Netbeans 6.1 deploying to Glassfish V2
      Java EE 5
      Project Is JSF

      The Component Class . . .
      package com.display;
      
      
      import javax.el.ValueExpression;
      import javax.faces.component.UIOutput;
      import javax.faces.context.FacesContext;
      
      
      /**
       *
       * @author Jason
       */
      public class Display3Way extends UIOutput {
      
      
          /**
           * The component type for this component.
           */
          public static final String COMPONENT_TYPE = "com.display";
          /**
           * The renderer type for this component.
           */
          public static final String RENDERER_TYPE = "com.display";
      
      
          /**
           * Creates a new ProInputDate.
           */
          public Display3Way() {
              //System.out.println("Display3Way is instantiated!");
      
              setRendererType(RENDERER_TYPE);
          }
          
      
      
          @Override
          public String getFamily() {
              return Display3Way.RENDERER_TYPE;
          }
      
      
          /**
           * Returns the saved state for this component.
           *
           * @param context the Faces context
           */
          @Override
          public Object saveState(
                  FacesContext context) {
              Object values[] = new Object[3];
              values[0] = super.saveState(context);
              values[1] = _displaywidth;
              values[2] = _tooltip;
              values[3] = _displaytitle;
              values[4] = _newstext;
              values[5] = _announcementstext;
              values[6] = _faqtext;
              values[7] = _helptext;
      
      
              return values;
          }
      
      
          /**
           * Restores the state of this component.
           *
           * @param context the Faces context
           * @param state   the saved state
           */
          @Override
          public void restoreState(
                  FacesContext context,
                  Object state) {
              Object values[] = (Object[]) state;
              super.restoreState(context, values[0]);
              _displaywidth = (String) values[1];
              _tooltip = (String) values[2];
              _displaytitle = (String) values[3];
              _newstext = (String) values[4];
              _announcementstext = (String) values[5];
              _faqtext = (String) values[6];
              _helptext = (String) values[7];
      
      
          }
          //Begin Private Instance Variables To Be Retrieved Through
          //Utilization Of The .TLD With The Standard JSF Implementation
          private String _displaywidth;
          private String _tooltip;
          private String _displaytitle;
          private String _newstext;
          private String _announcementstext;
          private String _faqtext;
          private String _helptext;
      
      
          /**
           * Sets the displaywidth attribute value.
           *
           * @param displaywidth  the new displaywidth attribute value
           */
          public void setDisplaywidth(
                  String displaywidth) {
              _displaywidth = displaywidth;
          }
      
      
          @Override
          public ValueExpression getValueExpression(String expression) {
              return super.getValueExpression(expression);
          }
      
      
          /**
           * Returns the displaywidth attribute value.
           *
           * @return  the displaywidth attribute value
           */
          public String getDisplaywidth() {
              if (_displaywidth != null) {
                  return _displaywidth;
              }
      
      
              ValueExpression binding = getValueExpression("displaywidth");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the tooltip attribute value.
           *
           * @param tooltip  the new tooltip attribute value
           */
          public void setTooltip(
                  String tooltip) {
              _tooltip = tooltip;
          }
      
      
          /**
           * Returns the tooltip attribute value.
           *
           * @return  the tooltip attribute value
           */
          public String getTooltip() {
              if (_tooltip != null) {
                  return _tooltip;
              }
              ValueExpression binding = getValueExpression("tooltip");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the displaytitle attribute value.
           *
           * @param displaytitle  the new displaytitle attribute value
           */
          public void setDisplaytitle(
                  String displaytitle) {
              _displaytitle = displaytitle;
          }
      
      
          /**
           * Returns the displaytitle attribute value.
           *
           * @return  the displaytitle attribute value
           */
          public String getDisplaytitle() {
              if (_displaytitle != null) {
                  return _displaytitle;
              }
              ValueExpression binding = getValueExpression("displaytitle");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the newstext attribute value.
           *
           * @param newstext  the new newstext attribute value
           */
          public void setNewstext(
                  String newstext) {
              _newstext = newstext;
          }
      
      
          /**
           * Returns the newstext attribute value.
           *
           * @return  the newstext attribute value
           */
          public String getNewstext() {
              if (_newstext != null) {
                  return _newstext;
              }
              ValueExpression binding = getValueExpression("newstext");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the announcementsText attribute value.
           *
           * @param announcementsText  the new announcementsText attribute value
           */
          public void setAnnouncementsText(
                  String announcementsText) {
              _announcementstext = announcementsText;
          }
      
      
          /**
           * Returns the announcementsText attribute value.
           *
           * @return  the announcementsText attribute value
           */
          public String getAnnouncementsText() {
              if (_announcementstext != null) {
                  return _announcementstext;
              }
              ValueExpression binding = getValueExpression("announcementstext");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the faqtext attribute value.
           *
           * @param faqtext  the new faqtext attribute value
           */
          public void setFaqtext(
                  String faqtext) {
              _faqtext = faqtext;
          }
      
      
          /**
           * Returns the faqtext attribute value.
           *
           * @return  the faqtext attribute value
           */
          public String getFaqtext() {
              if (_faqtext != null) {
                  return _faqtext;
              }
              ValueExpression binding = getValueExpression("faqtext");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      
      
          /**
           * Sets the helptext attribute value.
           *
           * @param helptext  the new helptext attribute value
           */
          public void setHelptext(
                  String helptext) {
              _helptext = helptext;
          }
      
      
          /**
           * Returns the helptext attribute value.
           *
           * @return  the helptext attribute value
           */
          public String getHelptext() {
              if (_helptext != null) {
                  return _helptext;
              }
              ValueExpression binding = getValueExpression("helptext");
              if (binding != null) {            
                  return (String) binding.getExpressionString();
              }
      
      
              return null;
          }
      }
      Renderer Superclass (extends Renderer and has convenience methods for Renderer Subclass)
      public class HTMLRenderer extends Renderer {
      
          
      
      
          private final static String _STYLE_RESOURCES_KEY =
                  HTMLRenderer.class.getName() + ".STYLES_WRITTEN";
          private final static String _SCRIPT_RESOURCES_KEY =
                  HTMLRenderer.class.getName() + ".SCRIPTS_WRITTEN";
      
      
          /**
           * Begins the encoded output for this component.
           * 
           * @param context    the Faces context
           * @param component  the Faces component
           *
           * @throws IOException  if an I/O error occurs during rendering
           */
          @Override
          public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
              encodeResources(context, component);
          }
      
      
          /**
           * Override hook for subclasses to write out their resources.
           * 
           * @param context    the Faces context
           * @param component  the Faces component
           */
          protected void encodeResources(FacesContext context, UIComponent component) throws IOException {
              // empty hook for subclasses to override as needed
          }
      
      
          /**
           * Writes a script library resource at-most-once within a single
           * RenderResponse phase.
           * 
           * @param context       the Faces context
           * @param resourcePath  the script library resource path
           * 
           * @throws IOException  if an error occurs during rendering
           */
          protected void writeScriptResource(FacesContext context, String resourcePath) throws IOException {
              Set scriptResources = _getScriptResourcesAlreadyWritten(context);
              //here's the trick that guarantees writing at most once per request!
              //remember that if scriptResources is a Set then the Set.add() method
              //will return false if the key/value is already in the Set.
              if (scriptResources.add(resourcePath)) {
                  ViewHandler handler = context.getApplication().getViewHandler();
                  String resourceURL = handler.getResourceURL(context, resourcePath);
                  ResponseWriter out = context.getResponseWriter();
                  out.startElement("script", null);
                  out.writeAttribute("type", "text/javascript", null);
                  out.writeAttribute("src", resourceURL, null);
                  out.endElement("script");
              }
          }
      
      
          /**
           * Writes an inline script at-most-once within a single
           * RenderResponse phase.
           * 
           * @param context       the Faces context
           * @param inlineScript  the inline script code
           * 
           * @throws IOException  if an error occurs during rendering
           */
          protected void writeScriptInline(FacesContext context, String inlineScript) throws IOException {
              Set scriptResources = _getScriptResourcesAlreadyWritten(context);
              //here's the trick that guarantees writing at most once per request!
              //remember that if scriptResources is a Set then the Set.add() method
              //will return false if the key/value is already in the Set.
              if (scriptResources.add(inlineScript)) {
                  ResponseWriter out = context.getResponseWriter();
                  out.startElement("script", null);
                  out.writeAttribute("type", "text/javascript", null);
                  out.writeText(inlineScript, null);
                  out.endElement("script");
              }
          }
      
      
          /**
           * Writes a stylesheet resource at-most-once within a single
           * RenderResponse phase.
           * 
           * @param context       the Faces context
           * @param resourcePath  the stylesheet resource path
           * 
           * @throws IOException  if an error occurs during rendering
           */
          protected void writeStyleResource(FacesContext context, String resourcePath) throws IOException {
              Set styleResources = _getStyleResourcesAlreadyWritten(context);
              //here's the trick that guarantees writing at most once per request!
              //remember that if scriptResources is a Set then the Set.add() method
              //will return false if the key/value is already in the Set.
              if (styleResources.add(resourcePath)) {
                  ViewHandler handler = context.getApplication().getViewHandler();
                  String resourceURL = handler.getResourceURL(context, resourcePath);
                  ResponseWriter out = context.getResponseWriter();
                  out.startElement("style", null);
                  out.writeAttribute("type", "text/css", null);
                  out.writeText("@import url(" + resourceURL + ");", null);
                  out.endElement("style");
              }
          }
      
      
          /**
           * Writes an inline style at-most-once within a single
           * RenderResponse phase.
           * 
           * @param context      the Faces context
           * @param inlineStyle  the inline style classes
           * 
           * @throws IOException  if an error occurs during rendering
           */
          protected void writeStyleInline(FacesContext context, String inlineStyle) throws IOException {
              Set styleResources = _getStyleResourcesAlreadyWritten(context);
              //here's the trick that guarantees writing at most once per request!
              //remember that if scriptResources is a Set then the Set.add() method
              //will return false if the key/value is already in the Set.
              if (styleResources.add(inlineStyle)) {
                  ResponseWriter out = context.getResponseWriter();
                  out.startElement("style", null);
                  out.writeAttribute("type", "text/css", null);
                  out.writeText(inlineStyle, null);
                  out.endElement("style");
              }
          }
      
          // Implements at-most-once semantics for each script resource on
          // the currently rendering page
          private Set _getScriptResourcesAlreadyWritten(FacesContext context) {
              ExternalContext external = context.getExternalContext();
              Map requestScope = external.getRequestMap();
              Set written = (Set) requestScope.get(_SCRIPT_RESOURCES_KEY);
      
      
              if (written == null) {
                  written = new HashSet();
                  requestScope.put(_SCRIPT_RESOURCES_KEY, written);
              }
              return written;
          }
      
      
          /*
           * Implements at-most-once semantics for each style resource on
           * the currently rendering page
           */
          private Set _getStyleResourcesAlreadyWritten(FacesContext context) {
              ExternalContext external = context.getExternalContext();
              Map requestScope = external.getRequestMap();
              Set written = (Set) requestScope.get(_STYLE_RESOURCES_KEY);
              if (written == null) {
                  written = new HashSet();
                  requestScope.put(_STYLE_RESOURCES_KEY, written);
              }
              return written;
          }
      }
      Renderer Subclass (extends HTMLRenderer Above.) . . .
      public class Display3WayRenderer extends HTMLRenderer {
      
      
          /**
           * The displaywidth attribute.
           */
          public static String DISPLAY_WIDTH_ATTR = "displaywidth";
          /**
           * The tooltip attribute.
           */
          public static String TOOLTIP_ATTR = "tooltip";
          /**
           * The displaytitle attribute.
           */
          public static String DISPLAY_TITLE_ATTR = "displaytitle";
          /**
           * The newstext attribute.
           */
          public static String NEWS_TEXT_ATTR = "newstext";
          /**
           * The announcementstext attribute.
           */
          public static String ANNOUNCEMENTS_TEXT_ATTR = "announcementstext";
          /**
           * The faqtext attribute.
           */
          public static String FAQ_TEXT_ATTR = "faqtext";
          /**
           * The helptext attribute.
           */
          public static String HELP_TEXT_ATTR = "helptext";
      
      
          @Override
          public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
      
              System.out.println("Encode End Called.\n\nSUCCESS!!!!!!!!!!!!!!!!!!!!!!!");
      
      
              //if context or component is null throw NullPointer!
              if ((context == null) || (component == null)) {
                  throw new NullPointerException();
              }
      
      
              //get a Map of attributes!
              Map attrs = component.getAttributes();
              String displaywidth = (String) attrs.get(DISPLAY_WIDTH_ATTR);
              String tooltip = (String) attrs.get(TOOLTIP_ATTR);
              String displaytitle = (String) attrs.get(DISPLAY_TITLE_ATTR);
              String newstext = (String) attrs.get(NEWS_TEXT_ATTR);
              String announcementstext = (String) attrs.get(TOOLTIP_ATTR);
              String faqtext = (String) attrs.get(DISPLAY_TITLE_ATTR);
              String helptext = (String) attrs.get(NEWS_TEXT_ATTR);
      
      
              Display3Way way = (Display3Way) component;
              ResponseWriter writer = context.getResponseWriter();
              writer.startElement("table", component);
              writer.writeAttribute("width", displaywidth, DISPLAY_WIDTH_ATTR);
              writer.writeAttribute("border", "0", null);
              writer.writeAttribute("cellspacing", "0", null);
              writer.writeAttribute("cellpadding", "0", null);
              writer.writeAttribute("title", tooltip, TOOLTIP_ATTR);
              writer.startElement("tr", component);
              writer.startElement("td", component);
              writer.startElement("div", component);
              writer.writeAttribute("align", "left", null);
      
      
              writer.startElement("table", component);
              writer.writeAttribute("width", "100%", null);
              writer.writeAttribute("border", "0", null);
              writer.writeAttribute("cellspacing", "0", null);
              writer.writeAttribute("cellpadding", "0", null);
      
      
              writer.startElement("tr", component);
              writer.startElement("td", component);
              writer.writeAttribute("width", "42%", null);
      
      
              //start first input
              writer.startElement("input", component);
              writer.writeAttribute("name", "news", null);
              writer.writeAttribute("type", "submit", null);
              writer.writeAttribute("id", "_news_button", null);
              writer.writeAttribute("onclick", "showMe465(document.getElementById('news_hidden_'));", null);
              writer.writeAttribute("value", "News", null);
              writer.endElement("input");
      
      
              //start second input
              writer.startElement("input", component);
              writer.writeAttribute("name", "announcements", null);
              writer.writeAttribute("type", "submit", null);
              writer.writeAttribute("id", "_announcements_button", null);
              writer.writeAttribute("onclick", "var c = document.getElementById('announcements_hidden_'); return showMe465(c);", null);
              writer.writeAttribute("value", "Announcements", null);
              writer.endElement("input");
      
      
              //start third input
              writer.startElement("input", component);
              writer.writeAttribute("name", "faq", null);
              writer.writeAttribute("type", "submit", null);
              writer.writeAttribute("id", "_faq_button", null);
              writer.writeAttribute("onclick", "var c = document.getElementById('faq_hidden_'); return showMe465(c);", null);
              writer.writeAttribute("value", "F.A.Q.", null);
              writer.endElement("input");
      
      
              //start fourth input (Last!)
              writer.startElement("input", component);
              writer.writeAttribute("name", "help", null);
              writer.writeAttribute("type", "submit", null);
              writer.writeAttribute("id", "_help_button", null);
              writer.writeAttribute("onclick", "var c = document.getElementById('help_hidden_'); return showMe465(c);", null);
              writer.writeAttribute("value", "Help", null);
              writer.endElement("input");
      
      
              //end row
              writer.endElement("td");
      
      
              writer.startElement("td", component);
              writer.writeAttribute("width", "58%", null);
      
      
              writer.startElement("div", component);
              writer.writeAttribute("align", "center", null);
      
      
              writer.writeText(displaytitle, component, DISPLAY_TITLE_ATTR);
              writer.endElement("div");
              writer.endElement("td");
              writer.endElement("tr");
              writer.endElement("table");
              writer.endElement("div");
              writer.endElement("td");
      
      
              writer.endElement("tr");
              writer.startElement("tr", component);
              writer.startElement("td", component);
              writer.startElement("table", component);
              writer.writeAttribute("width", "100%", null);
              writer.writeAttribute("border", "1", null);
              writer.writeAttribute("cellspacing", "0", null);
              writer.writeAttribute("cellpadding", "10", null);
              writer.startElement("tr", component);
              writer.startElement("td", component);
              writer.writeAttribute("id", "_display_panel", null);
              writer.writeText(newstext, component, NEWS_TEXT_ATTR);
              writer.endElement("td");
      
      
              //start first hidden input
              writer.startElement("input", component);
              writer.writeAttribute("name", "newsHidden", null);
              writer.writeAttribute("type", "hidden", null);
              writer.writeAttribute("id", "news__hidden_", null);
              writer.writeAttribute("value", newstext, NEWS_TEXT_ATTR);
              writer.endElement("input");
      
      
              //start second hidden input
              writer.startElement("input", component);
              writer.writeAttribute("name", "announcementsHidden", null);
              writer.writeAttribute("type", "hidden", null);
              writer.writeAttribute("id", "announcements__hidden_", null);
              writer.writeAttribute("value", announcementstext, ANNOUNCEMENTS_TEXT_ATTR);
              writer.endElement("input");
      
      
              //start first hidden input
              writer.startElement("input", component);
              writer.writeAttribute("name", "faqHidden", null);
              writer.writeAttribute("type", "hidden", null);
              writer.writeAttribute("id", "faq__hidden_", null);
              writer.writeAttribute("value", faqtext, FAQ_TEXT_ATTR);
              writer.endElement("input");
      
      
              //start first hidden input
              writer.startElement("input", component);
              writer.writeAttribute("name", "helpHidden", null);
              writer.writeAttribute("type", "hidden", null);
              writer.writeAttribute("id", "help__hidden_", null);
              writer.writeAttribute("value", helptext, HELP_TEXT_ATTR);
              writer.endElement("input");
      
      
              writer.endElement("tr");
              writer.endElement("table");
              writer.endElement("td");
              writer.endElement("tr");
              writer.endElement("table");
      
      
          }
      
      
          
      
      
          /**
           * Write out the Display3Way resources.
           *
           * @param context    the Faces context
           * @param component  the Faces component
           */
          @Override
          protected void encodeResources(FacesContext context, UIComponent component) throws IOException {
              writeScriptResource(context, "/com/display/display3way.js");
          }
      
      
      
      }
      Tag Handler Class . . .
      public class Display3WayTag extends UIComponentELTag {
      
      
          /**
           * Returns the component type.
           *
           * @return  the component type
           */
          public String getComponentType() {
      
              out(_GETCOMPONENTTYPE, _GETCOMPONENTTYPE_RETURNS);
      
      
              return Display3Way.COMPONENT_TYPE;
          }
      
      
          /**
           * Returns the renderer type.
           *
           * @return  the renderer type
           */
          public String getRendererType() {
              out(_GETRENDERERTYPE, _GETRENDERERTYPE_RETURNS);
              return Display3Way.RENDERER_TYPE;
          }
      
      
          /**
           * Releases the internal state used by the tag.
           */
          @Override
          public void release() {
      
              //ONLY FOR DEBUGGING!
              out(_RELEASE, _RELEASE_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
      
              _displaywidth = null;
              _tooltip = null;
              _displaytitle = null;
              _newstext = null;
              _announcementstext = null;
              _faqtext = null;
              _helptext = null;
      
      
          }
          private ValueExpression _displaywidth = null;
          private ValueExpression _tooltip = null;
          private ValueExpression _displaytitle = null;
          private ValueExpression _newstext = null;
          private ValueExpression _announcementstext = null;
          private ValueExpression _faqtext = null;
          private ValueExpression _helptext = null;
      
      
          public void setAnnouncementstext(ValueExpression announcementstext) {
              //ONLY FOR DEBUGGING!
              out(_SETANNOUNCEMENTSTEXT, _SETANNOUNCEMENTSTEXT_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._announcementstext = announcementstext;
          }
      
      
          public void setDisplaytitle(ValueExpression displaytitle) {
              //ONLY FOR DEBUGGING!
              out(_SETDISPLAYTITLE, this._SETDISLAYTITLE_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._displaytitle = displaytitle;
          }
      
      
          public void setDisplaywidth(ValueExpression displaywidth) {
              //ONLY FOR DEBUGGING!
              out(_SETDISPLAYWIDTH, _SETDISPLAYWIDTH_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._displaywidth = displaywidth;
          }
      
      
          public void setFaqtext(ValueExpression faqtext) {
              //ONLY FOR DEBUGGING!
              out(_SETFAQTEXT, _SETFAQTEXT_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._faqtext = faqtext;
          }
      
      
          public void setHelptext(ValueExpression helptext) {
              //ONLY FOR DEBUGGING!
              out(_SETHELPTEXT, _SETHELPTEXT_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._helptext = helptext;
          }
      
      
          public void setNewstext(ValueExpression newstext) {
              //ONLY FOR DEBUGGING!
              out(_SETNEWSTEXT, _SETNEWSTEXT_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._newstext = newstext;
          }
      
      
          public void setTooltip(ValueExpression tooltip) {
              //ONLY FOR DEBUGGING!
              out(_SETTOOLTIP, _SETTOOLTIP_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              this._tooltip = tooltip;
          }
      
      
          /**
           * Transfers the property values from this tag to the component.
           *
           * @param component  the target component
           */
          @Override
          protected void setProperties(UIComponent component) {
              //ONLY FOR DEBUGGING!
              out(_SETPROPERTIES, _SETPROPERTIES_RETURNS);
              //PLEASE REMOVE ABOVE out(String methodName, String methodReturns)
              //super.setProperties(component);
      
              Display3Way display = (Display3Way) component;
      
      
              //set displaywidth
              if (_displaywidth != null) {
                  if (_displaywidth.isLiteralText()) {
                      display.setValueExpression("displaywidth", _displaywidth);
                  } else {
                      display.getAttributes().put("displaywidth", _displaywidth.getExpressionString());
                  }
              }
      
      
              //set tooltip
              if (_tooltip != null) {
                  if (_tooltip.isLiteralText()) {
                      display.setValueExpression("tooltip", _tooltip);
                  } else {
                      display.getAttributes().put("tooltip", _tooltip.getExpressionString());
                  }
              }
      
      
              //set displaytitle
              if (_displaytitle != null) {
                  if (_displaytitle.isLiteralText()) {
                      display.setValueExpression("displaytitle", _displaytitle);
                  } else {
                      display.getAttributes().put("displaytitle", _displaytitle.getExpressionString());
                  }
              }
      
      
              //set newstext
              if (_newstext != null) {
                  if (_newstext.isLiteralText()) {
                      display.setValueExpression("newstext", _newstext);
                  } else {
                      display.getAttributes().put("newstext", _newstext.getExpressionString());
                  }
              }
      
      
              //set announcementstext
              if (_announcementstext != null) {
                  if (_announcementstext.isLiteralText()) {
                      display.setValueExpression("announcementstext", _announcementstext);
                  } else {
                      display.getAttributes().put("announcementstext", _announcementstext.getExpressionString());
                  }
              }
      
      
              //set faqtext
              if (_faqtext != null) {
                  if (_faqtext.isLiteralText()) {
                      display.setValueExpression("faqtext", _faqtext);
                  } else {
                      display.getAttributes().put("faqtext", _faqtext.getExpressionString());
                  }
              }
      
      
              //set helptext
              if (_helptext != null) {
                  if (_helptext.isLiteralText()) {
                      display.setValueExpression("helptext", _helptext);
                  } else {
                      display.getAttributes().put("helptext", _helptext.getExpressionString());
                  }
              }
      
      
          }
      
          //convenience final variables USED ONLY FOR DEBUGGING PURPOSES!!!!
          private final String _SETPROPERTIES = "setProperties(UIComponent component)";
          private final String _SETPROPERTIES_RETURNS = "void";
          private final String _GETCOMPONENTTYPE = "getComponentType(UIComponent)";
          private final String _GETCOMPONENTTYPE_RETURNS = String.class.getName();
          private final String _GETRENDERERTYPE = "getRendererType(UIComponent)";
          private final String _GETRENDERERTYPE_RETURNS = String.class.getName();
          private final String _RELEASE = "release()";
          private final String _RELEASE_RETURNS = "void";
          private final String _SETDISPLAYTITLE = "setDisplaytitle(ValueExpression displaytitle)";
          private final String _SETDISLAYTITLE_RETURNS = "void";
          private final String _SETANNOUNCEMENTSTEXT = "setAnnouncementstext(ValueExpression announcementstext)";
          private final String _SETANNOUNCEMENTSTEXT_RETURNS = "void";
          private final String _SETDISPLAYWIDTH = "setDisplaywidth(ValueExpression displaywidth)";
          private final String _SETDISPLAYWIDTH_RETURNS = "void";
          private final String _SETFAQTEXT = "setFaqtext(ValueExpression faqtext)";
          private final String _SETFAQTEXT_RETURNS = "void";
          private final String _SETHELPTEXT = "setHelptext(ValueExpression helptext)";
          private final String _SETHELPTEXT_RETURNS = "void";
          private final String _SETNEWSTEXT = "setNewstext(ValueExpression newstext)";
          private final String _SETNEWSTEXT_RETURNS = "void";
          private final String _SETTOOLTIP = "setTooltip(ValueExpression tooltip)";
          private final String _SETTOOLTIP_RETURNS = "void";
          
      
      
          void out(String methodNameAsString, String methodReturns) {
              String classname = Display3WayTag.class.getName();
              if(!methodReturns.equals("Constructor")) System.out.println("\n" + classname + "." + methodNameAsString + "\nThis Method Returns" + methodReturns + "\n");
              else System.out.println("\n" + classname + "." + meth                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
        • 1. Re: My First Custom JSF Component
          807575
          One thing I have been delighted to learn about Java is that complexity is revealed in the simple details. And once I do something sucessfully, it
          is much easier to replicate.

          I had a few problems in the code above, but I have successfully gotten it to render successfully. Which at the very least means that I have successfully
          tapped into the powerful JSF Framework.

          The biggest problem is a lack of Clear Examples for extending UICompoentELTag, but I can't complain, there are definately enough
          articles around to figure it out.

          Problems Above.
          I didn't register the component in faces-config. Although I defined the Render-Kit and renderer, the component class wasn't registered to allow
          FacesContext to instantiate the component class.

          Correct Configuration: (Please Note: I'm still figuring out the ValueExpression stuff so nothing is debugged yet!)

          faces-config . . .
          <?xml version='1.0' encoding='UTF-8'?>
          
          
          <!-- =========== FULL CONFIGURATION FILE ================================== -->
          
          
          <faces-config version="1.2" 
              xmlns="http://java.sun.com/xml/ns/javaee" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
              <managed-bean>
                  <managed-bean-name>SessionBean1</managed-bean-name>
                  <managed-bean-class>_tester.SessionBean1</managed-bean-class>
                  <managed-bean-scope>session</managed-bean-scope>
              </managed-bean>
              <managed-bean>
                  <managed-bean-name>Page1</managed-bean-name>
                  <managed-bean-class>_tester.Page1</managed-bean-class>
                  <managed-bean-scope>request</managed-bean-scope>
              </managed-bean>
              <managed-bean>
                  <managed-bean-name>ApplicationBean1</managed-bean-name>
                  <managed-bean-class>_tester.ApplicationBean1</managed-bean-class>
                  <managed-bean-scope>application</managed-bean-scope>
              </managed-bean>
              <managed-bean>
                  <managed-bean-name>RequestBean1</managed-bean-name>
                  <managed-bean-class>_tester.RequestBean1</managed-bean-class>
                  <managed-bean-scope>request</managed-bean-scope>        
              </managed-bean>
              <render-kit>
                  <!-- no renderkit-id, so these renderers are added to
                  the default renderkit -->
                  <renderer>
                      <component-family>
                      com.display
                      </component-family>
                      <renderer-type>
                      com.display
                      </renderer-type>
                      <renderer-class>
                      com.display.Display3WayRenderer
                      </renderer-class>
          
                      <!-- Renderer-specific attributes -->
                      <attribute>
                          <attribute-name>displaywidth</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>tooltip</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>displaytitle</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>newstext</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>announcementstext</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>faqtext</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>
                      <attribute>
                          <attribute-name>helptext</attribute-name>
                          <attribute-class>java.lang.String</attribute-class>
                      </attribute>            
                  </renderer>
                  </render-kit>
                  <component>
              <component-type>com.display.Display3Way</component-type>
              <component-class>
                  com.display.Display3Way
              </component-class>
              <property>
                  <property-name>displaywidth</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
              <property>
                  <property-name>tootip</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
              <property>
                  <property-name>displaytitle</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
              <property>
                  <property-name>newstext</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
              <property>
                  <property-name>announcementstext</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
              <property>
                  <property-name>faqtext</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
               <property>
                  <property-name>helptext</property-name>
                  <property-class>java.lang.String</property-class>
              </property>
          </component>
          </faces-config>
          The next problem was that I wasn't overriding getRendererType() in TagHandler Class.

          The JSF Framework looks for this method as explained in the Java EE 5 Tutorial.

          http://java.sun.com/javaee/5/docs/tutorial/doc/bnawa.html

          Here is the corrected TagHandler class.
          import javax.el.ValueExpression;
          import javax.faces.component.UIComponent;
          import javax.faces.context.FacesContext;
          import javax.faces.webapp.UIComponentELTag;
          
          
          /**
           * ProInputDateTag component tag handler.
           */
          public class Display3WayTag extends UIComponentELTag {
          
          
              /**
               * Returns the component type.
               *
               * @return  the component type
               */
              public String getComponentType() {
          
          
                  return Display3Way.COMPONENT_TYPE;
              }
          
          
              /**
               * Returns the renderer type.
               *
               * @return  the renderer type
               */
              public String getRendererType() {
          
                  return Display3Way.RENDERER_TYPE;
              }
          
          
              /**
               * Releases the internal state used by the tag.
               */
              @Override
              public void release() {
                  
          
          
          
                  _displaywidth = null;
                  _tooltip = null;
                  _displaytitle = null;
                  _newstext = null;
                  _announcementstext = null;
                  _faqtext = null;
                  _helptext = null;
          
          
              }
              private ValueExpression _displaywidth = null;
              private ValueExpression _tooltip = null;
              private ValueExpression _displaytitle = null;
              private ValueExpression _newstext = null;
              private ValueExpression _announcementstext = null;
              private ValueExpression _faqtext = null;
              private ValueExpression _helptext = null;
          
          
              public void setAnnouncementstext(ValueExpression announcementstext) {
          
                  this._announcementstext = announcementstext;
              }
          
          
              public void setDisplaytitle(ValueExpression displaytitle) {
          
                  this._displaytitle = displaytitle;
              }
          
          
              public void setDisplaywidth(ValueExpression displaywidth) {
          
                  this._displaywidth = displaywidth;
              }
          
          
              public void setFaqtext(ValueExpression faqtext) {
          
                  this._faqtext = faqtext;
              }
          
          
              public void setHelptext(ValueExpression helptext) {
          
                  this._helptext = helptext;
              }
          
          
              public void setNewstext(ValueExpression newstext) {
          
          
                  this._newstext = newstext;
              }
          
          
              public void setTooltip(ValueExpression tooltip) {
          
                  this._tooltip = tooltip;
              }
          
          
              /**
               * Transfers the property values from this tag to the component.
               *
               * @param component  the target component
               */
              @Override
              protected void setProperties(UIComponent component) {
          
                  super.setProperties(component);
          
                  Display3Way display = (Display3Way) component;
          
          
                  //set displaywidth
                  if (_displaywidth != null) {
                      if (_displaywidth.isLiteralText()) {
          
                          display.setValueExpression("displaywidth", _displaywidth);
                      } else {
                          System.out.println("isLiteralText NOT! displaywidth: "+_displaywidth.getExpressionString());
                          display.getAttributes().put("displaywidth", _displaywidth.getExpressionString());
                      }
                  }
          
          
                  //set tooltip
                  if (_tooltip != null) {
                      if (_tooltip.isLiteralText()) {
                          display.setValueExpression("tooltip", _tooltip);
                      } else {
                          display.getAttributes().put("tooltip", _tooltip.getExpressionString());
                      }
                  }
          
          
                  //set displaytitle
                  if (_displaytitle != null) {
                      if (_displaytitle.isLiteralText()) {
                          display.setValueExpression("displaytitle", _displaytitle);
                      } else {
                          display.getAttributes().put("displaytitle", _displaytitle.getExpressionString());
                      }
                  }
          
          
                  //set newstext
                  if (_newstext != null) {
                      if (_newstext.isLiteralText()) {
                          display.setValueExpression("newstext", _newstext);
                      } else {
                          display.getAttributes().put("newstext", _newstext.getExpressionString());
                      }
                  }
          
          
                  //set announcementstext
                  if (_announcementstext != null) {
                      if (_announcementstext.isLiteralText()) {
                          display.setValueExpression("announcementstext", _announcementstext);
                      } else {
                          display.getAttributes().put("announcementstext", _announcementstext.getExpressionString());
                      }
                  }
          
          
                  //set faqtext
                  if (_faqtext != null) {
                      if (_faqtext.isLiteralText()) {
                          display.setValueExpression("faqtext", _faqtext);
                      } else {
                          display.getAttributes().put("faqtext", _faqtext.getExpressionString());
                      }
                  }
          
          
                  //set helptext
                  if (_helptext != null) {
                      if (_helptext.isLiteralText()) {
                          display.setValueExpression("helptext", _helptext);
                      } else {
                          display.getAttributes().put("helptext", _helptext.getExpressionString());
                      }
                  }
          
          
              }
          
          
          }
          • 2. Re: My First Custom JSF Component
            807575

            The problem I am having now is that I can only use this syntax for my attributes in the JSP:
            "#{Page1.tooltip}"
            If I enter like this:
            <jason:com.display.Display3Way announcementstext="#{Page1.announcementstext}" displaytitle="#{Page1.displaytitle}"
                                        displaywidth="#{Page1.displaywidth}" faqtext="#{Page1.faqtext}" helptext="#{Page1.helptext}" newstext="News Text" tooltip="#{Page1.tooltip}"/>
            Then I just get the #{Page1.tooltip} in the rendered markup instead of the referenced property. What's more . . .

            When I do it like this . . .
             <jason:com.display.Display3Way announcementstext="Announcements Text" displaytitle="Display Title"
              displaywidth="Display Width" faqtext="F.A.Q. Text" helptext="Help Text" newstext="News Text" tooltip="Tool Tip"/>
            I get this . . .
            deployed with moduleid = _Tester
            Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/_Tester'
            ApplicationDispatcher[/_Tester] PWC1231: Servlet.service() for servlet jsp threw exception
            org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:914)
                    at org.apache.jsp.Page1_jsp._jspx_meth_jason_com$2display$2Display3Way_0(Page1_jsp.java from :473)
                    at org.apache.jsp.Page1_jsp._jspx_meth_h_panelGrid_0(Page1_jsp.java from :421)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_panelLayout_0(Page1_jsp.java from :380)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_form_0(Page1_jsp.java from :341)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_body_0(Page1_jsp.java from :303)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_html_0(Page1_jsp.java from :203)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_page_0(Page1_jsp.java from :163)
                    at org.apache.jsp.Page1_jsp._jspx_meth_f_view_0(Page1_jsp.java from :125)
                    at org.apache.jsp.Page1_jsp._jspService(Page1_jsp.java from :91)
                    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
                    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
                    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:853)
                    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
                    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:542)
                    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:474)
                    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:366)
                    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
                    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
                    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
                    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                    at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
                    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
                    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
                    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
                    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
            WebModule[/_Tester]org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
            javax.faces.FacesException: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
                    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
                    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
                    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                    at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
                    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
                    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
                    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
                    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
            Caused by: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:914)
                    at org.apache.jsp.Page1_jsp._jspx_meth_jason_com$2display$2Display3Way_0(Page1_jsp.java from :473)
                    at org.apache.jsp.Page1_jsp._jspx_meth_h_panelGrid_0(Page1_jsp.java from :421)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_panelLayout_0(Page1_jsp.java from :380)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_form_0(Page1_jsp.java from :341)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_body_0(Page1_jsp.java from :303)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_html_0(Page1_jsp.java from :203)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_page_0(Page1_jsp.java from :163)
                    at org.apache.jsp.Page1_jsp._jspx_meth_f_view_0(Page1_jsp.java from :125)
                    at org.apache.jsp.Page1_jsp._jspService(Page1_jsp.java from :91)
                    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
                    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
                    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:853)
                    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
                    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:542)
                    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:474)
                    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:366)
                    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
                    ... 43 more
            executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@197a056) threw exception
            com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:594)
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:325)
                    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                    at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
                    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
                    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
                    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
                    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
                    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
                    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
            Caused by: javax.faces.FacesException: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
                    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
                    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
                    ... 40 more
            Caused by: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:914)
                    at org.apache.jsp.Page1_jsp._jspx_meth_jason_com$2display$2Display3Way_0(Page1_jsp.java from :473)
                    at org.apache.jsp.Page1_jsp._jspx_meth_h_panelGrid_0(Page1_jsp.java from :421)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_panelLayout_0(Page1_jsp.java from :380)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_form_0(Page1_jsp.java from :341)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_body_0(Page1_jsp.java from :303)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_html_0(Page1_jsp.java from :203)
                    at org.apache.jsp.Page1_jsp._jspx_meth_webuijsf_page_0(Page1_jsp.java from :163)
                    at org.apache.jsp.Page1_jsp._jspx_meth_f_view_0(Page1_jsp.java from :125)
                    at org.apache.jsp.Page1_jsp._jspService(Page1_jsp.java from :91)
                    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
                    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
                    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:853)
                    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
                    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:542)
                    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:474)
                    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:366)
                    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
                    ... 43 more
            phase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@197a056) threw exception: com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
            com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:594)
            com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.afterPhase(ViewHandlerImpl.java:470)
            com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
            com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
            com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
            javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
            org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
            com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
            org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
            org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
            org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
            org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
            org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
            com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
            com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
            com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
            com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
            com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
            StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
            com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.JasperException: PWC6338: Cannot convert "Tool Tip" for the attribute tooltip of the bean javax.el.ValueExpression
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:594)
                    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:325)
                    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                    at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
                    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
                    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
                    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
                    at org.apache.catalina.core.ContainerBase.invoke(ContainerBa                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
            • 3. Re: My First Custom JSF Component
              807575

              I believe I'm misunderstanding the use of ValueExpression. The attributes are String values unless I want them
              to be able to pass ActionSource Objects, which I don't because this component is simple and doesn't require this functionality until I get
              a solid understanding of the basic stuff first. So I am going to change this in the UIComponentELTag implementation. I already know that I'm
              also missing something else because the expressions aren't being evaluated or throwing exceptions so somehow they seem to be completely
              transparent to the FacesLayer. Still Looking for guidance here.

              • 4. Re: My First Custom JSF Component
                807575
                Hi,

                I was getting the same "cannot convert" messages for one of my attributes in a custom jsf component. The solution in my case was to go to the TLD file and get an extra "deferred-value" element inside the problemmatique attribute, and inside that element define a "type" element that specifies the type for the conversion to take place, like so:

                [We are inside the TLD file for our component]
                <attribute>
                    <name>rendered</name>
                    <deferred-value>
                        <type>java.lang.Boolean</type>
                    </deferred-value>
                </attribute>
                Then you can go ahead and use the deferred value expressions for attributes in your components with the #{foo.bar} notation, like so: <mycomponents:customcomp1 rendered="#{true}">

                Also, I found a blog post from Jason Lee very useful, it's a checklist for writing custom JSF components. Here's the link: [http://blogs.steeplesoft.com/jsf-component-writing-check-list/]