public int doEndTag ( ) throws JspException { Object val = evaluateDataSource ( ) ; ServletRequest req = pageContext . getRequest ( ) ; if ( _dataInput != null ) { val = _dataInput . toString ( ) ; } // if there were expression errors report them if ( hasErrors ( ) ) return reportAndExit ( SKIP_BODY ) ; if ( val != null ) { _value = val . toString ( ) ; } // Create an appropriate "input" element based on our parameters ByRef ref = new ByRef ( ) ; nameHtmlControl ( _state , ref ) ; if ( _value != null ) { InternalStringBuilder sb = new InternalStringBuilder ( _value . length ( ) + 16 ) ; StringBuilderRenderAppender sbAppend = new StringBuilderRenderAppender ( sb ) ; HtmlUtils . filter ( _value , sbAppend ) ; _state . value = sb . toString ( ) ; } // correct for null text here if ( _state . value == null ) _state . value = "" ; WriteRenderAppender writer = new WriteRenderAppender ( pageContext ) ; TagRenderingBase hiddenTag = TagRenderingBase . Factory . getRendering ( TagRenderingBase . INPUT_HIDDEN_TAG , req ) ; hiddenTag . doStartTag ( writer , _state ) ; hiddenTag . doEndTag ( writer ) ; if ( ! ref . isNull ( ) ) write ( ( String ) ref . getRef ( ) ) ; // Continue processing this page localRelease ( ) ; return SKIP_BODY ; }
Generate the hidden input tag .