预览图tag的做法

来源:互联网 发布:淘宝退款速度影响 编辑:程序博客网 时间:2024/04/29 10:05

        <tag>
                <name>PreviewImg</name>
                <tagclass>com.sdrc._wae.tagext.PreviewImg</tagclass>
                <bodycontent>JSP</bodycontent>
                <attribute>
                        <name>previewimagestring</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
        </tag>



          <action-component id="get_preview"
              handler="com.edsplm.tc.ent._wcc.visualization.launch.GetPreview">
            <config-param name   ="inVisModelClassConfigParam" value="VsModel"/>
            <component-input id  ="inItemHandle"     source="eds_summary_current_item_handle"/>
            <component-output id ="outPreviewImage"  destination="eds_preview_image_string"/>
            <option id="previewImageFound" advance="true" />
            <option id="previewImageNotFound" advance="true" />
          </action-component>
      <action-component id="get_preview"
         handler="com.edsplm.tc.ent._wcc.visualization.launch.GatherPreviews">
         <config-param name   ="inVisModelClassConfigParam" value="VsModel"/>
         <component-input id  ="inItemHandle"     source="eds_summary_current_item_handle"/>
         <component-output id ="outPreviewImageCollection"  destination="eds_preview_image_strings"/>
         <option id="previewImagesFound" advance="true" />
         <option id="previewImagesNotFound" advance="true" />
      </action-component>

 

<%--rate imports for images--%>
<%@ page import= "com.sdrc.wae.util.ContextManager" %>
<%@ page import= "com.sdrc.wae.util.ContextManagerFactory" %>
<%@ page import= "java.util.Iterator" %>
<%@ page import= "java.util.Collection" %>
<%@ page import= "com.sdrc.metaphase.enterprise.es.base.Manager" %>
<%@ page import= "com.sdrc.metaphase.enterprise.es.base.Accessor" %>
<%@ page import= "com.sdrc.metaphase.enterprise.es.session.Session" %>
<%@ page import= "com.sdrc.metaphase.enterprise.es.base.EntityHandle" %>
<%@ page import= "com.sdrc.metaphase.wcc.mwau.util.WebAppSupportUtil" %>


<%    
   String file_handle_name  = null;
   String FILE_HANDLE_NAME  = "eds_preview_image_string";
   String link              = "download_preview_image";

   ContextManager ctxt_mgr = ContextManagerFactory.getContextManager(request);
   String[] tmp_str_array  = ctxt_mgr.getAttribute(FILE_HANDLE_NAME);
   if (tmp_str_array != null && tmp_str_array.length > 0)
   {
    file_handle_name  = tmp_str_array[0];
   }
   if(file_handle_name != null && file_handle_name=="" )
   {
%>
     <img src="<%=link%>?eds_preview_image_string=<%=file_handle_name%>">
<%
   }
   else
   {
  Collection test = (Collection)request.getAttribute("eds_preview_image_strings");
  if(test != null && test.size()>0)
  {
   Iterator it = test.iterator() ;
     Accessor processor = null;
     EntityHandle entity_handle = null;
     Session p_session  = WebAppSupportUtil.getESSession( request, getServletConfig().getServletContext());
     if(p_session != null)
     {
     Manager manager  = WebAppSupportUtil.getESManager( getServletConfig().getServletContext());
     if (manager != null)
     {
     processor = (Accessor)manager.getProcessor("base.Accessor", p_session);
     }
     }
   while (it.hasNext())
   {    
     file_handle_name = (String) it.next() ;
     entity_handle = processor.reconstructEntityHandle(file_handle_name);
%>
 <img src="<%=link%>?eds_preview_image_string=<%=file_handle_name%>">
<%   
   }
  }
   }
%>



打成tag后就不需要上面的jsp了
package com.sdrc._wae.tagext;

import java.io.IOException;
import java.io.PrintStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class PreviewImg extends BodyTagSupport
{

    public PreviewImg()
    {
        bodyOutput = new StringBuffer();
        PreviewImageString_ = null;
    }

    protected void DisplayPreviewImage()
    {
        String s = null;
        String s1 = "download_preview_image";
        request = (HttpServletRequest)super.pageContext.getRequest();
        s = (String)request.getAttribute(PreviewImageString_);
        if(s != null && s != "")
            bodyOutput.append("<img src=/"" + s1 + "?eds_preview_image_string=" + s + "/">");
    }

    public int doAfterBody()
    {
        return 0;
    }

    public int doEndTag()
    {
        try
        {
            JspWriter jspwriter = super.pageContext.getOut();
            jspwriter.println(bodyOutput.toString());
        }
        catch(IOException ioexception)
        {
            System.out.println(ioexception.getMessage());
        }
        return 6;
    }

    public int doStartTag()
        throws JspTagException
    {
        DisplayPreviewImage();
        return 2;
    }

    public String getPreviewimagestring()
    {
        return PreviewImageString_;
    }

    public void setPreviewimagestring(String s)
    {
        PreviewImageString_ = s;
    }

    public void release()
    {
        super.release();
        PreviewImageString_ = null;
        bodyOutput = new StringBuffer();
        request = null;
    }

    protected HttpServletRequest request;
    private String PreviewImageString_;
    protected StringBuffer bodyOutput;
}

原创粉丝点击