页面模板的标记封装

原创 2006年06月19日 00:06:00

package component.tags;

 

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import java.util.Vector;
/**
 * <p>页面模板的标记封装</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author
 * @version 1.0
 */

public class TemplateSelectTag extends TagSupport{

  //TagLib 属性
   private String mtemplatetype;   //备用 "page"--页面模板  "plugin"--插件模板
   private String mtemplateid;     // 当前选中的nodeid
   private String mselectname;     // select 列表框的名称
   private String mhasdisable;     // 是否禁止选择
   private String mupnodeid;

  // 属性初始化
  public void settemplatetype(String value)
  {
    this.mtemplatetype = value;
  }
  public void settemplateid(String value)
  {
     this.mtemplateid = value;
  }
  public void setselectname(String value)
  {
     this.mselectname = value;
  }

  public void sethasdisable(String value)
  {
     this.mhasdisable = value;
  }
  public void setupnodeid(String value)
  {
    this.mupnodeid = value;
  }

 // 处理标记
 public int doStartTag() throws JspException
 {

   String strReturnSelect="";
   try
   {
     //是否设置为Disable
     if(mhasdisable.equals("true"))
     {
       strReturnSelect="<select name='" + mselectname +"' disabled>/n";
     }
     else
     {
       strReturnSelect="<select name='" + mselectname +"'>/n";
     }
     if(mtemplatetype.equals("page"))
     {
        strReturnSelect += getPageOption();
     }
     if(mtemplatetype.equals("plugin"))
     {
       strReturnSelect += getPluginOption();
     }
     strReturnSelect+="</select>/n";
     pageContext.getOut().print(strReturnSelect);

   }
   catch(java.io.IOException ex)
   {
     throw new JspException(ex.getMessage());
   }
   return SKIP_BODY;
 }

  private String getPageOption()
  {
      // 从数据库加载
      String strReturnSelect="";
      TemplateManager mgr = (TemplateManager)RequestHelper.getBean("templateManager",this.pageContext.getServletContext());
      try
      {
         Vector vpage = new Vector();
         vpage = mgr.loadPageTemplate();
         for(int i=0;i<vpage.size();i++)
         {
            PageTemplate obj = (PageTemplate)vpage.get(i);
            if(mtemplateid.equals(obj.pageid))
            {
              strReturnSelect += "<option value='" + obj.pageid + "' selected>" +
                        obj.name + "</option>/n";
             }
            else
            {
              strReturnSelect += "<option value='" + obj.pageid + "'>" + obj.name +
                    "</option>/n";
            }
         }
      }
      catch(Exception e)
      {
         System.out.print("取页面模板错误:"+e.getMessage());
      }
      return strReturnSelect;
  }

  private String getPluginOption()
  {
    // 从数据库加载
     Node node=new Node();
     node.setNODEID(mupnodeid);
     DbConnection con=null;
     DataAccess da=new DataAccess();
     String strReturnSelect="";
     TemplateManager mgr = (TemplateManager)RequestHelper.getBean("templateManager",this.pageContext.getServletContext());
     String siteId="";
     try
     {
        con = RequestHelper.getConnection(this.pageContext.getServletContext());
        da.select(con,new String[]{"NODEID"},node) ;
        siteId=node.getFULLNAME();
        siteId=siteId.substring(1);
        siteId=siteId.substring(0,siteId.indexOf("/"));
        //System.out.println(siteId);

        Vector vplugin = new Vector();
        vplugin = mgr.loadPlugin();
        String fullName="";
        for(int i=0;i<vplugin.size();i++)
        {
           PubPlugin obj = (PubPlugin)vplugin.get(i);
           //@todo siteid ="4" 作为公共组件判断条件需要修改
           if(siteId.equals(obj.SITEID)||obj.SITEID.equals("4"))
           {
             if (mtemplateid.equals(obj.PLUGINID)) {
               strReturnSelect += "<option value='" + obj.PLUGINID + "' selected>" +
                   obj.PLUGINNAME + "</option>/n";
             }
             else {
               strReturnSelect += "<option value='" + obj.PLUGINID + "'>" +
                   obj.PLUGINNAME +
                   "</option>/n";
             }
           }
        }

     }
     catch(Exception e)
     {
        System.out.print("取插件库错误:"+e.getMessage());
     }
     finally
     {
       con.close();
     }
     return strReturnSelect;
  }
}

相关文章推荐

JSP实验指导 JSP页面标记

  • 2010年05月19日 18:37
  • 1.53MB
  • 下载

JSP第二章JSP页面与jsp标记

  • 2017年01月09日 13:19
  • 1.45MB
  • 下载

十字定位标记中心坐标值计算方法——模板匹配

对于十字定位标记,最稳健的方式是使用模板匹配得到定为标志中心。十字定位标记和圆不同,阈值之后没有稳健的形状拟合。因此,阈值的结果如果有孔洞或者边缘误差,其中心坐标值计算结果会不稳定。所以,对于十字标记...

页面(PAGE)标记(TAGS)

  • 2009年01月19日 22:56
  • 3KB
  • 下载

线段树模板 (poj 3468)延迟标记

参考了胡浩大牛的代码风格。#include #define lson l,m,rt

patternMaker模板标记

  • 2016年03月30日 12:42
  • 623KB
  • 下载

线段树模板(lazy标记)ZOJ 3686

题解:先搜索用将树上的点给定时间戳,以此当做该节点的区间。 #include #include #include using namespace std; #define N 150005 bo...
  • Tsaid
  • Tsaid
  • 2013年04月03日 23:25
  • 1258

ios--OpenCV--基于模板图片的标记识别

转载请注明来源: 效果图如下: #import "UIImage+OpenCV.h" #import "MyViewController.h" #import #import #i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:页面模板的标记封装
举报原因:
原因补充:

(最多只允许输入30个字)