[66] | 1 | /* |
---|
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more |
---|
| 3 | * contributor license agreements. See the NOTICE file distributed with |
---|
| 4 | * this work for additional information regarding copyright ownership. |
---|
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 |
---|
| 6 | * (the "License"); you may not use this file except in compliance with |
---|
| 7 | * the License. You may obtain a copy of the License at |
---|
| 8 | * |
---|
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 |
---|
| 10 | * |
---|
| 11 | * Unless required by applicable law or agreed to in writing, software |
---|
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, |
---|
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
---|
| 14 | * See the License for the specific language governing permissions and |
---|
| 15 | * limitations under the License. |
---|
| 16 | */ |
---|
| 17 | |
---|
| 18 | |
---|
| 19 | package validators; |
---|
| 20 | |
---|
| 21 | |
---|
| 22 | import java.io.InputStream; |
---|
| 23 | import java.io.IOException; |
---|
| 24 | import javax.servlet.jsp.tagext.PageData; |
---|
| 25 | import javax.servlet.jsp.tagext.TagLibraryValidator; |
---|
| 26 | import javax.servlet.jsp.tagext.ValidationMessage; |
---|
| 27 | |
---|
| 28 | |
---|
| 29 | /** |
---|
| 30 | * Example tag library validator that simply dumps the XML version of each |
---|
| 31 | * page to standard output (which will typically be sent to the file |
---|
| 32 | * <code>$CATALINA_HOME/logs/catalina.out</code>). To utilize it, simply |
---|
| 33 | * include a <code>taglib</code> directive for this tag library at the top |
---|
| 34 | * of your JSP page. |
---|
| 35 | * |
---|
| 36 | * @author Craig McClanahan |
---|
| 37 | * @version $Revision: 467217 $ $Date: 2006-10-24 05:14:34 +0200 (Tue, 24 Oct 2006) $ |
---|
| 38 | */ |
---|
| 39 | |
---|
| 40 | public class DebugValidator extends TagLibraryValidator { |
---|
| 41 | |
---|
| 42 | |
---|
| 43 | // ----------------------------------------------------- Instance Variables |
---|
| 44 | |
---|
| 45 | |
---|
| 46 | // --------------------------------------------------------- Public Methods |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | /** |
---|
| 50 | * Validate a JSP page. This will get invoked once per directive in the |
---|
| 51 | * JSP page. This method will return <code>null</code> if the page is |
---|
| 52 | * valid; otherwise the method should return an array of |
---|
| 53 | * <code>ValidationMessage</code> objects. An array of length zero is |
---|
| 54 | * also interpreted as no errors. |
---|
| 55 | * |
---|
| 56 | * @param prefix The value of the prefix argument in this directive |
---|
| 57 | * @param uri The value of the URI argument in this directive |
---|
| 58 | * @param page The page data for this page |
---|
| 59 | */ |
---|
| 60 | public ValidationMessage[] validate(String prefix, String uri, |
---|
| 61 | PageData page) { |
---|
| 62 | |
---|
| 63 | System.out.println("---------- Prefix=" + prefix + " URI=" + uri + |
---|
| 64 | "----------"); |
---|
| 65 | |
---|
| 66 | InputStream is = page.getInputStream(); |
---|
| 67 | while (true) { |
---|
| 68 | try { |
---|
| 69 | int ch = is.read(); |
---|
| 70 | if (ch < 0) |
---|
| 71 | break; |
---|
| 72 | System.out.print((char) ch); |
---|
| 73 | } catch (IOException e) { |
---|
| 74 | break; |
---|
| 75 | } |
---|
| 76 | } |
---|
| 77 | System.out.println(); |
---|
| 78 | System.out.println("-----------------------------------------------"); |
---|
| 79 | return (null); |
---|
| 80 | |
---|
| 81 | } |
---|
| 82 | |
---|
| 83 | |
---|
| 84 | } |
---|