View Javadoc

1   /***
2    * Copyright (c) 2003 held jointly by the individual authors.            
3    *                                                                          
4    * This library is free software; you can redistribute it and/or modify it    
5    * under the terms of the GNU Lesser General Public License as published      
6    * by the Free Software Foundation; either version 2.1 of the License, or 
7    * (at your option) any later version.                                            
8    *                                                                            
9    * This library is distributed in the hope that it will be useful, but 
10   * WITHOUT ANY WARRANTY; with out even the implied warranty of 
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
12   * GNU Lesser General Public License for more details.                                                  
13   *                                                                           
14   * You should have received a copy of the GNU Lesser General Public License   
15   * along with this library;  if not, write to the Free Software Foundation,   
16   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.              
17   *                                                                            
18   * > http://www.gnu.org/copyleft/lesser.html                                  
19   * > http://www.opensource.org/licenses/lgpl-license.php
20   */
21  package net.mlw.vlh.web;
22  
23  import java.io.IOException;
24  
25  import javax.servlet.ServletContext;
26  import javax.servlet.ServletException;
27  import javax.servlet.http.HttpServletRequest;
28  import javax.servlet.http.HttpServletResponse;
29  
30  import net.mlw.vlh.ValueList;
31  import net.mlw.vlh.ValueListHandler;
32  import net.mlw.vlh.ValueListInfo;
33  
34  import org.apache.struts.tiles.ComponentContext;
35  import org.apache.struts.tiles.ControllerSupport;
36  import org.springframework.web.context.WebApplicationContext;
37  import org.springframework.web.context.support.WebApplicationContextUtils;
38  
39  /***
40   * @author Matthew L. Wilson
41   * @version $Revision: 1.4 $ $Date: 2004/12/13 20:32:35 $
42   */
43  public class ValueListHandlerTilesAction extends ControllerSupport
44  {
45  	public static final String VALUE_LIST_NAME = "valueListName";
46  	public static final String VALUE_LIST_REQUEST_NAME = "valueListRequestName";
47  
48  	/***
49  	 * @see org.apache.struts.tiles.Controller#perform(org.apache.struts.tiles.ComponentContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext)
50  	 */
51  	public void perform(ComponentContext componentContext, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
52  			throws ServletException, IOException
53  	{
54  		String name = (String) componentContext.getAttribute(VALUE_LIST_NAME);
55  		String requestName = (String) componentContext.getAttribute(VALUE_LIST_REQUEST_NAME);
56  
57  		WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext);
58  		ValueListHandler vlh = (ValueListHandler) context.getBean("valueListHandler", ValueListHandler.class);
59  
60  		ValueListInfo info = ValueListRequestUtil.buildValueListInfo(request);
61  		ValueList valueList = vlh.getValueList(name, info);
62  
63  		request.setAttribute(requestName, valueList);
64  	}
65  
66  }