Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment:

Update parent page

...

Code Block
java
java
titleGreetingInterceptor.java
package tutorial;
 	 
import java.util.Calendar;
import com.opensymphony.xwork.interceptor.Interceptor;
import com.opensymphony.xwork.ActionInvocation;
 	 
public class GreetingInterceptor implements Interceptor {
  public void init() { }
  public void destroy() { }
  public String intercept(ActionInvocation invocation) throws Exception {
    Calendar calendar = Calendar.getInstance();
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    String greeting = (hour < 6) ? "Good evening" :
        ((hour < 12) ? "Good morning":
 	((hour < 18) ? "Good afternoon": "Good evening"));
 	 
     invocation.getInvocationContext().getSession().put("greeting", greeting);
 	 
     String result = invocation.invoke();
 	 
     return result;
  }
}

Coding the configuration

Code Block
xml
xml
titleaction.xml
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
 	"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
 	 
<xwork>
  <include file="action-default.xml" />
 	 
  <package name="default" extends="action-default">
     <interceptors>
       <interceptor name="greeting" class="tutorial.GreetingInterceptor" />
     </interceptors>
 	 
     <action name="greeting" class="tutorial.GreetingAction">
 	<interceptor-ref name="greeting" />
 	<result name="success" type="velocity">greeting.vm</result>
      </action>
 	 
      <!-- other action mappings -->
 	 
   </package>
 </xwork>

Coding the Action class

Code Block
java
java
titleGreetingAction.java
package tutorial;

import com.opensymphony.xwork.ActionSupport;

public class GreetingAction extends ActionSupport {
  public String execute() throws Exception
  {
    return SUCCESS; 
  }
}

Coding the result page

Code Block
html
html
titleUnderstanding Interceptors
<html>
  <head>
    <title>Understanding Interceptors</title>
   </head>
   <body> 
     #set ($ses = $req.getSession())
     <p><b>${ses.getAttribute('greeting')}!</b></p> 	 
   </body>
 </html>

How the code works

...