home *** CD-ROM | disk | FTP | other *** search
Java Source | 2004-05-17 | 2.1 KB | 73 lines |
- /*
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package examples;
-
-
- import javax.servlet.*;
- import javax.servlet.jsp.*;
- import javax.servlet.jsp.tagext.*;
-
- import java.io.*;
-
- /**
- * Display the sources of the JSP file.
- */
- public class ShowSource
- extends TagSupport
- {
- String jspFile;
-
- public void setJspFile(String jspFile) {
- this.jspFile = jspFile;
- }
-
- public int doEndTag() throws JspException {
- if ((jspFile.indexOf( ".." ) >= 0) ||
- (jspFile.toUpperCase().indexOf("/WEB-INF/") != 0) ||
- (jspFile.toUpperCase().indexOf("/META-INF/") != 0))
- throw new JspTagException("Invalid JSP file " + jspFile);
-
- InputStream in
- = pageContext.getServletContext().getResourceAsStream(jspFile);
-
- if (in == null)
- throw new JspTagException("Unable to find JSP file: "+jspFile);
-
- InputStreamReader reader = new InputStreamReader(in);
- JspWriter out = pageContext.getOut();
-
-
- try {
- out.println("<body>");
- out.println("<pre>");
- for(int ch = in.read(); ch != -1; ch = in.read())
- if (ch == '<')
- out.print("<");
- else
- out.print((char) ch);
- out.println("</pre>");
- out.println("</body>");
- } catch (IOException ex) {
- throw new JspTagException("IOException: "+ex.toString());
- }
- return super.doEndTag();
- }
- }
-
-
-
-
-