KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > core > tags > ExternalContentTag


1 /*
2  * SSL-Explorer
3  *
4  * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

19             
20 package com.sslexplorer.core.tags;
21
22 import java.io.ByteArrayOutputStream JavaDoc;
23 import java.io.IOException JavaDoc;
24 import java.io.InputStream JavaDoc;
25 import java.net.URL JavaDoc;
26
27 import javax.servlet.jsp.JspException JavaDoc;
28
29 import org.apache.commons.logging.Log;
30 import org.apache.commons.logging.LogFactory;
31 import org.apache.struts.taglib.TagUtils;
32 import org.apache.struts.taglib.html.BaseHandlerTag;
33
34 import com.sslexplorer.boot.Util;
35
36 public class ExternalContentTag extends BaseHandlerTag {
37   
38   final static Log log = LogFactory.getLog(ExternalContentTag.class);
39
40   String JavaDoc url;
41
42   public ExternalContentTag() {
43   }
44
45   public int doEndTag() throws JspException JavaDoc {
46       InputStream JavaDoc in = null;
47       ByteArrayOutputStream JavaDoc baos = new ByteArrayOutputStream JavaDoc();
48       try {
49           in = new URL JavaDoc(url).openStream();
50           Util.copy(in, baos);
51           TagUtils.getInstance().write(pageContext, new String JavaDoc(baos.toByteArray()));
52       }
53       catch(IOException JavaDoc ioe) {
54           throw new JspException JavaDoc("Failed to load external page.", ioe);
55       }
56       finally {
57           Util.closeStream(in);
58           Util.closeStream(baos);
59       }
60       return (EVAL_PAGE);
61   }
62
63   public void release() {
64       super.release();
65       url = null;
66   }
67
68   public int doStartTag() {
69       return EVAL_BODY_INCLUDE;
70   }
71
72   public void setUrl(String JavaDoc url) {
73     this.url = url;
74   }
75 }
Popular Tags