public int doEndTag ( ) throws JspException { ServletRequest req = pageContext . getRequest ( ) ; // Create an appropriate "input" element based on our parameters if ( _password ) { _state . type = INPUT_PASSWORD ; } else { _state . type = INPUT_TEXT ; } // Create the state for the input tag ByRef ref = new ByRef ( ) ; nameHtmlControl ( _state , ref ) ; _state . disabled = isDisabled ( ) ; // Create the text value of the TextBox Object textObject = evaluateDataSource ( ) ; if ( ( textObject == null ) || ( textObject . toString ( ) . length ( ) == 0 ) ) { textObject = _defaultValue ; } // Get the text value for the textbox, the result String text = null ; if ( textObject != null ) { text = formatText ( textObject ) ; InternalStringBuilder sb = new InternalStringBuilder ( text . length ( ) + 16 ) ; StringBuilderRenderAppender sbAppend = new StringBuilderRenderAppender ( sb ) ; HtmlUtils . filter ( text , sbAppend ) ; text = sb . toString ( ) ; } _state . value = text ; // if there were format errors then report them if ( _formatErrors ) { if ( bodyContent != null ) { String value = bodyContent . getString ( ) . trim ( ) ; bodyContent . clearBody ( ) ; write ( value ) ; } } if ( hasErrors ( ) ) return reportAndExit ( EVAL_PAGE ) ; // create the input tag. WriteRenderAppender writer = new WriteRenderAppender ( pageContext ) ; TagRenderingBase br = TagRenderingBase . Factory . getRendering ( TagRenderingBase . INPUT_TEXT_TAG , req ) ; assert ( br != null ) ; br . doStartTag ( writer , _state ) ; br . doEndTag ( writer ) ; // write any script that needs to be written if ( ! ref . isNull ( ) ) write ( ( String ) ref . getRef ( ) ) ; localRelease ( ) ; return EVAL_PAGE ; }
Render the TextBox .