いくつかのクラス変数を設定するストラットでインターセプターを作成しようとしています(ヘッダーページで使用したい)。これは私がやったことです
struts.xml
<interceptors>
<interceptor class="com.googlecode.sslplugin.interceptors.SSLInterceptor" name="secure" />
<interceptor class="org.my.action.HeaderInterceptor" name="headerInterceptor" />
<interceptor-stack name="myStack">
<!-- TODO : uncomment this before release
<interceptor-ref name="secure">
<param name="useAnnotations">true</param>
<param name="httpsPort">443</param>
<param name="httpPort">80</param>
</interceptor-ref>
-->
<interceptor-ref name="headerInterceptor" />
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"/>
インターセプターコード
public class HeaderInterceptor implements Interceptor {
private static final long serialVersionUID = 1L;
//added for inputs to HEADER
private String investorName;
private String investorImage;
@Override
public void destroy() {}
@Override
public void init() {}
@Override
public String intercept(ActionInvocation actionInvocation) throws Exception {
setHeaderAttributes();
return actionInvocation.invoke();
}
private void setHeaderAttributes()
{
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
Object invObj = session.getAttribute(RangDeServerUtils.USER);
if( null != invObj && invObj instanceof Investor){
Investor investor = (Investor) invObj;
this.investorName = investor.getFirstName();
this.investorImage = Integer.toString(investor.getImageId());
}
}
//have removed getters and setters for the class variables
}
リクエストごとにインターセプターがヒットし、クラス変数が設定されますが、jsp に表示されません。
私が間違っていることはありますか?? 助けてください。