View Javadoc

1   /*
2    * Copyright 2003,2004 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.struts.chain.commands.servlet;
17  
18  import org.apache.struts.chain.commands.AbstractRequestNoCache;
19  import org.apache.struts.chain.contexts.ActionContext;
20  import org.apache.struts.chain.contexts.ServletActionContext;
21  
22  import javax.servlet.http.HttpServletResponse;
23  
24  /***
25   * <p>Check to see if the controller is configured to prevent caching, and if
26   * so, set the no cache HTTP response headers.</p>
27   *
28   * @version $Rev: 421119 $ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005)
29   *          $
30   */
31  public class RequestNoCache extends AbstractRequestNoCache {
32      // ------------------------------------------------------- Protected Methods
33      protected void requestNoCache(ActionContext context) {
34          ServletActionContext sacontext = (ServletActionContext) context;
35          HttpServletResponse response = sacontext.getResponse();
36  
37          response.setHeader("Pragma", "No-cache");
38          response.setHeader("Cache-Control", "no-cache,no-store,max-age=0");
39          response.setDateHeader("Expires", 1);
40      }
41  }