KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > webapp > tiles > template > DynTemplateAction


1 /*
2  * $Id: DynTemplateAction.java 54929 2004-10-16 16:38:42Z germuska $
3  *
4  * Copyright 1999-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 package org.apache.struts.webapp.tiles.template;
20
21 import javax.servlet.http.HttpServletRequest JavaDoc;
22 import javax.servlet.http.HttpServletResponse JavaDoc;
23 import org.apache.struts.action.Action;
24 import org.apache.struts.action.ActionForm;
25 import org.apache.struts.action.ActionForward;
26 import org.apache.struts.action.ActionMapping;
27 import org.apache.struts.tiles.ComponentDefinition;
28
29
30 public final class DynTemplateAction extends Action {
31
32
33     // --------------------------------------------------------- Public Methods
34

35
36     /**
37      * Process the specified HTTP request, and create the corresponding HTTP
38      * response (or forward to another web component that will create it).
39      * Return an <code>ActionForward</code> instance describing where and how
40      * control should be forwarded, or <code>null</code> if the response has
41      * already been completed.
42      *
43       * @param mapping The ActionMapping used to select this instance
44      * @param actionForm The optional ActionForm bean for this request (if any)
45      * @param request The HTTP request we are processing
46      * @param response The HTTP response we are creating
47      *
48      * @exception Exception if the application business logic throws
49      * an exception
50      */

51     public ActionForward execute(
52                  ActionMapping mapping,
53                  ActionForm form,
54                  HttpServletRequest JavaDoc request,
55                  HttpServletResponse JavaDoc response)
56     throws Exception JavaDoc {
57
58     System.out.println( "Start dynamic definition" );
59       // Create template definition
60
ComponentDefinition definition = new ComponentDefinition();
61     String JavaDoc path = "/tutorial";
62       // set definition 'contents'
63
//definition.setTemplate( "/tutorial/basic/myFramesetLayout.jsp" );
64
definition.put( "title", "My first dynamic frameset page", true );
65       // using type="string" is the same as direct=true
66
definition.put( "header", path + "/common/header.jsp", "string", null );
67     definition.put( "footer", path + "/common/footer.jsp", true );
68     definition.put( "menu", path + "/basic/menu.jsp", true );
69     definition.put( "body", path + "/basic/helloBody.jsp", true );
70
71     System.out.println( "definition=" + definition );
72       // Save our definition as a bean :
73
request.setAttribute( "templateDefinition", definition );
74
75       return (mapping.findForward("success"));
76     }
77
78  }
79
Popular Tags