public int doEndTag ( ) throws JspException { boolean usingDefault = false ; boolean bypassEscape = false ; String scriptId = null ; ServletRequest req = pageContext . getRequest ( ) ; Object labelObject = null ; String labelValue = null ; // if this is not client side binding, evalute the value if ( _value != null ) labelObject = _value ; else { if ( _defaultValue != null ) { labelObject = _defaultValue ; bypassEscape = HtmlUtils . containsEntity ( _defaultValue . toString ( ) ) ; } else { logger . warn ( Bundle . getString ( "Tags_LabelExpressionNull" , _value ) ) ; labelObject = DEFAULT_NULL_TEXT ; } usingDefault = true ; } // we assume that tagId will over have override id if both // are defined. if ( _state . id != null ) { scriptId = renderNameAndId ( ( HttpServletRequest ) req , _state , null ) ; } // push the evaluated expression when we are not client side bound... labelValue = ( usingDefault && ! _formatDefaultValue ) ? labelObject . toString ( ) : formatText ( labelObject ) ; if ( hasErrors ( ) ) return reportAndExit ( EVAL_PAGE ) ; // fully qualify the for attribute if it exists if ( _state . forAttr != null ) { _state . forAttr = getIdForTagId ( _state . forAttr ) ; } WriteRenderAppender writer = new WriteRenderAppender ( pageContext ) ; TagRenderingBase br = TagRenderingBase . Factory . getRendering ( TagRenderingBase . LABEL_TAG , req ) ; br . doStartTag ( writer , _state ) ; // push the evaluated expression when we are not client side bound... //if (!usingDefault) // labelValue = formatText(labelValue); if ( ! bypassEscape ) filter ( labelValue , writer , _escapeWhiteSpace ) ; else write ( labelValue ) ; br . doEndTag ( writer ) ; if ( scriptId != null ) write ( scriptId ) ; localRelease ( ) ; return EVAL_PAGE ; }
Render the label .