Java TagSupport类使用实例

发布时间:2025-12-09 11:58:29 浏览次数:2

实例1: renderTag

import javax.servlet.jsp.tagext.TagSupport; //导入依赖的package包/类@Overridepublic String renderTag(TagSupport tag, PageContext pageContext, String body) throws Exception {StringWriter        strWriter = new StringWriter();HttpServletResponse response  = mock(HttpServletResponse.class);when(response.getWriter()).thenReturn(new PrintWriter(strWriter, true));if (!mockingDetails(pageContext).isSpy()) {pageContext = spy(pageContext);}JspWriter jspWriter = new JspWriterImpl(response);doReturn(jspWriter).when(pageContext).getOut();tag.setPageContext(pageContext);if (Tag.EVAL_BODY_INCLUDE == tag.doStartTag()) {jspWriter.flush();strWriter.write(body);}jspWriter.flush();tag.doEndTag();jspWriter.flush();tag.release();return strWriter.toString();} 

实例2: doInitBody

import javax.servlet.jsp.tagext.TagSupport; //导入依赖的package包/类public void doInitBody() throws JspException {        //Test for doInitBody method.        if ( "doInitBody".equalsIgnoreCase ( this.getAtt1() ) ) {            TestString += this.getAtt1();        }        // Test for getParent method in TagSupport        if ( "getParent".equalsIgnoreCase ( this.getAtt2() ) ) {            TagSupport ts = new TagSupport();            setParent( this );            Tag tt = getParent();            if ( tt == this ) {                TestString = TestString + "Pass";            } else {                TestString = TestString + "Fails";            }        }    } 

实例3: getParentTag

import javax.servlet.jsp.tagext.TagSupport; //导入依赖的package包/类@SuppressWarnings("unchecked")private P getParentTag()throws JspException{try       {AbstractBusinessObjectTag<T> parentTag = null;for(parentTag = (AbstractBusinessObjectTag)TagSupport.findAncestorWithClass(this, AbstractBusinessObjectTag.class);parentTag != null && ! businessObjectType.equals(parentTag.getBusinessObjectType());parentTag = (AbstractBusinessObjectTag)TagSupport.findAncestorWithClass(parentTag, AbstractBusinessObjectTag.class) );return (P)parentTag;       } catch (ClassCastException e)       {throw new JspException("Parent tag of this '" + this.getClass().getName() + "' must present business object of type '" + getBusinessObjectType().getName() + "'.");       }} 

实例4: doEndTag

import javax.servlet.jsp.tagext.TagSupport; //导入依赖的package包/类/** *  * @see javax.servlet.jsp.tagext.TagSupport#doEndTag() */public int doEndTag() throws JspException{   try   {       section = null;       pageContext.removeAttribute("counter");       pageContext.removeAttribute("sectionCounter");      pageContext.getOut().write("</table>");      return TagSupport.EVAL_PAGE;   }   catch(Exception e)   {      throw new JspException(Debugger.stackTrace(e));   }} 

实例5: doStartTag

import javax.servlet.jsp.tagext.TagSupport; //导入依赖的package包/类@Overridepublic int doStartTag() throws JspException {  StringTokenizer tokenizer = new StringTokenizer(privileges, ";");String[] privs = new String[tokenizer.countTokens()];for(int i=0; tokenizer.hasMoreTokens(); i++) {privs[i] = tokenizer.nextToken();}if(ownedObject instanceof UserOwnable) {showControl = editMode && authorityManager.hasAtLeastOnePrivilege( (UserOwnable) ownedObject, privs);}else if(ownedObject instanceof AgencyOwnable) {showControl = editMode && authorityManager.hasAtLeastOnePrivilege( (AgencyOwnable) ownedObject, privs);}else {showControl = false;}// release the object (usually its a ti) from the tag to prevent a memory leak (Tags are pooled) ownedObject = null;return TagSupport.EVAL_BODY_INCLUDE;} 
tagsupport
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477