當前位置: 首頁>>代碼示例>>Java>>正文


Java SimpleTagSupport類代碼示例

本文整理匯總了Java中javax.servlet.jsp.tagext.SimpleTagSupport的典型用法代碼示例。如果您正苦於以下問題:Java SimpleTagSupport類的具體用法?Java SimpleTagSupport怎麽用?Java SimpleTagSupport使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


SimpleTagSupport類屬於javax.servlet.jsp.tagext包,在下文中一共展示了SimpleTagSupport類的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
/**
 * {@link ParameterAware}を探して、コールバックします。
 * まず、直接の親タグが{@link ParameterAware}かどうか判定します。
 * そうであれば、コールバックして終了します。
 * もし、直接の親タグが{@link ParameterAware}ない場合、
 * {@link SimpleTagSupport#findAncestorWithClass(JspTag, Class)}を利用して、
 * ルートまで{@link ParameterAware}を探して辿ります。
 * それでも見つからない場合、処理を終了します。
 * @throws JspException {@link JspException}
 * @throws IOException {@link IOException}
 */
@Override
public void doTag() throws JspException, IOException {
    super.doTag();
    Args.checkNotEmpty(getName());
    JspTag s = getParent();
    if (!ParameterAware.class.isInstance(s)) {
        s = SimpleTagSupport.findAncestorWithClass(this, ParameterAware.class);
    }
    if (s == null) return;
    ParameterAware parent = (ParameterAware) s;
    if (getValues() != null) {
        parent.awareParameter(name, getValues());
    } else {
        parent.awareParameter(name, getValue());
    }

}
 
開發者ID:ctc-g,項目名稱:sinavi-jfw,代碼行數:29,代碼來源:NestedParameterTag.java

示例2: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
  JspTag tag = SimpleTagSupport.findAncestorWithClass(this, PaginationTagSupport.class);
  
  if(tag != null)
  {
    Page page = ((PaginationTagSupport) tag).getCurrent();
    
    if(!page.getLeftGap() && !page.getRightGap())
    {
      // Print out a text marker which will replaced with the appropriate page number
      // when the pagination data structure is processed
      this.getJspContext().getOut().print(Pagination.PAGE_MARKER);
    }
  }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:18,代碼來源:PageTagSupport.java

示例3: testEventTagOutsideBuilderTagBase_WithInvalidParent_WithBody

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
public void testEventTagOutsideBuilderTagBase_WithInvalidParent_WithBody() throws Exception
{
    final EventTag tag = new EventTag();
    final PrintCharJspFragment body = new PrintCharJspFragment('-');
    tag.setJspBody(body);
    final StringJspWriter out = new StringJspWriter();
    tag.setJspContext(new MockJspContext(out));
    
    tag.setParent(new SimpleTagSupport());
    
    tag.setName("someEvent");
    
    try {
        tag.doTag();
        fail();
    }
    catch (JspException ex) {
        assertEquals("EventTag must be enclosed directly or indirectly by a BuilderTagBase tag.", ex.getMessage());
    }
    
    assertEquals("", out.getOutput());
}
 
開發者ID:dzidzitop,項目名稱:jaj_taglib,代碼行數:23,代碼來源:EventTag_InvalidUseTest.java

示例4: testEventTagOutsideBuilderTagBase_WithInvalidParent_WithEmptyBody

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
public void testEventTagOutsideBuilderTagBase_WithInvalidParent_WithEmptyBody() throws Exception
{
    final EventTag tag = new EventTag();
    final PrintCharJspFragment body = new PrintCharJspFragment('-');
    tag.setJspBody(body);
    final StringJspWriter out = new StringJspWriter();
    tag.setJspContext(new MockJspContext(out));
    
    tag.setParent(new SimpleTagSupport());
    
    tag.setName("someEvent");
    
    try {
        tag.doTag();
        fail();
    }
    catch (JspException ex) {
        assertEquals("EventTag must be enclosed directly or indirectly by a BuilderTagBase tag.", ex.getMessage());
    }
    
    assertEquals("", out.getOutput());
}
 
開發者ID:dzidzitop,項目名稱:jaj_taglib,代碼行數:23,代碼來源:EventTag_InvalidUseTest.java

示例5: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
  JspTag parent = SimpleTagSupport.findAncestorWithClass(this, GroupTagSupport.class);
  JspWriter out = this.getJspContext().getOut();

  if (parent != null)
  {
    GroupTagSupport group = (GroupTagSupport) parent;
    String name = group.getParam();
    String type = group.getType();

    JspTag component = findAncestorWithClass(this, ComponentMarkerIF.class);

    // If the combo box is used in the context of a component then
    // the generated parameter name needs to prefix the name of the component
    if (component != null)
    {
      name = ( (ComponentMarkerIF) component ).getParam() + "." + name;
    }

    MutableDTO current = group.getItem();
    String valueAttribute = group.getValueAttribute();
    
    this.addAttribute("type", type);
    this.addAttribute("name", name);
    this.addAttribute("value", current.getValue(valueAttribute));

    this.openTag("input", out);
    
    if (this.getJspBody() != null)
    {
      this.getJspBody().invoke(null);
    }

    this.closeTag("input", out);
  }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:39,代碼來源:GroupOptionTagSupport.java

示例6: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
  JspTag parent = SimpleTagSupport.findAncestorWithClass(this, MessagesTagSupport.class);
  JspWriter out = this.getJspContext().getOut();

  if (parent != null)
  {
    MessagesTagSupport messages = (MessagesTagSupport) parent;
    NotificationDTOIF current = messages.getCurrent();

    out.println(current.getMessage());
  }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:15,代碼來源:MessageTagSupport.java

示例7: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
  JspTag parent = SimpleTagSupport.findAncestorWithClass(this, SelectTagSupport.class);
  JspWriter out = this.getJspContext().getOut();

  if (parent != null)
  {
    SelectTagSupport select = (SelectTagSupport) parent;

    // Get the current item in the select collection
    ComponentDTO current = select.getCurrent();

    // Get the name of the attribute on which the value is determined
    String valueAttribute = select.getValueAttribute();

    // set selected=selected if the current value matches the value stored in
    // the DTO
    if (select.getSelectedValues().contains("|" + current.getValue(valueAttribute) + "|"))
    {
      this.setSelected("selected");
    }

    // Write the value of the option
    this.addAttribute("value", current.getValue(valueAttribute));

    this.openTag("option", out);

    if (this.getJspBody() != null)
    {
      this.getJspBody().invoke(null);
    }

    this.closeTag("option", out);
  }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:37,代碼來源:OptionTagSupport.java

示例8: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
  JspTag parent = SimpleTagSupport.findAncestorWithClass(this, TableTagSupport.class);

  if (parent != null)
  {
    TableTagSupport tag = (TableTagSupport) parent;
    Table table = (Table) tag.getColumnar();

    // Generate a new Pagination data-structure using the supplied query object
    Pagination pagination = new Pagination(tag.getQuery(), isAsynchronous());
    
    // Loop over all of the pages in the pagination
    while (pagination.hasNext())
    {
      // Update the current Page to generate
      current = pagination.next();

      if (var != null)
      {
        this.getJspContext().setAttribute(var, current);
      }

      // Generate the pre HTML, marker, and post HTML for the current page
      if (this.getJspBody() != null)
      {
        this.getJspBody().invoke(current.getWriter());
      }
    }

    // Add the pagination structure to the table
    table.setPagination(pagination);
  }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:36,代碼來源:PaginationTagSupport.java

示例9: doTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@Override
public void doTag() throws JspException, IOException
{
   JspTag parent = SimpleTagSupport.findAncestorWithClass(this, LinkTagIF.class);
   
   if(parent != null)
   {
     ((LinkTagIF) parent).addProperty(name, value);
   }
}
 
開發者ID:terraframe,項目名稱:Runway-SDK,代碼行數:11,代碼來源:PropertyTagSupport.java

示例10: testBuildGrid_EventsWithIndirectBuilderParentTag

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
/**
 * Tests that event tag's parents are scanned deeply to find a BuilderTagBase parent.
 */
public void testBuildGrid_EventsWithIndirectBuilderParentTag() throws Exception
{
    final EventTag rowStartTag = initEvent("rowStart", '^');
    final EventTag rowEndTag = initEvent("rowEnd", '$');
    
    final SimpleTag cellTagParent = new SimpleTagSupport()
    {
        @Override
        public void doTag() throws IOException, JspException
        {
            getJspBody().invoke(getJspContext().getOut());
        }
    };
    cellTagParent.setJspContext(ctx);
    cellTagParent.setParent(gridTag);
    final EventTag cellTag = initEvent(cellTagParent, "cell", '-');
    cellTagParent.setJspBody(new CallTagsJspFragment(cellTag));
    
    final CallTagsJspFragment body = new CallTagsJspFragment("foo", rowStartTag, rowEndTag, cellTagParent);
    gridTag.setJspBody(body);
    
    gridTag.rowCount = 3;
    gridTag.columnCount = 2;
    
    gridTag.doTag();
    
    assertTrue(gridTag.buildInvoked);
    assertTrue(body.invoked);
    assertEquals("^--$^--$^--$", out.getOutput());
}
 
開發者ID:dzidzitop,項目名稱:jaj_taglib,代碼行數:34,代碼來源:BuilderTagBase_BoundaryCasesTest.java

示例11: findAncestor

import javax.servlet.jsp.tagext.SimpleTagSupport; //導入依賴的package包/類
@SuppressWarnings("unchecked")
protected <T> T findAncestor(Class<? extends BaseTag> clazz) {
	return (T) SimpleTagSupport.findAncestorWithClass(this, clazz);
}
 
開發者ID:Mrdigs,項目名稱:Bootstrap.jsp,代碼行數:5,代碼來源:NestedTagSupport.java


注:本文中的javax.servlet.jsp.tagext.SimpleTagSupport類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。