1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jelly.tags.jetty;
18
19 import org.apache.commons.jelly.JellyTagException;
20 import org.apache.commons.jelly.TagSupport;
21 import org.apache.commons.jelly.XMLOutput;
22 import org.mortbay.http.handler.NotFoundHandler;
23
24 /***
25 * Declare a not found resource handler for a Jetty http server
26 *
27 * @author rtl
28 * @version $Id: NotFoundHandlerTag.java 155420 2005-02-26 13:06:03Z dirkv $
29 */
30 public class NotFoundHandlerTag extends TagSupport {
31
32 /*** Creates a new instance of NotFoundHandlerTag */
33 public NotFoundHandlerTag() {
34 }
35
36 /***
37 * Perform the tag functionality. In this case, add a resource handler
38 * to the parent context, setting the allowed methods if required
39 *
40 * @param xmlOutput where to send output
41 * @throws Exception when an error occurs
42 */
43 public void doTag(XMLOutput xmlOutput) throws JellyTagException {
44 HttpContextTag httpContext = (HttpContextTag) findAncestorWithClass(
45 HttpContextTag.class);
46 if ( httpContext == null ) {
47 throw new JellyTagException( "<notFoundHandler> tag must be enclosed inside a <httpContext> tag" );
48 }
49 NotFoundHandler notFoundHandler = new NotFoundHandler();
50 httpContext.addHandler(notFoundHandler);
51 invokeBody(xmlOutput);
52 }
53
54
55
56
57
58 }