<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;
}