WebSphere Portal 6.1.5 portletleri için JSR286, Struts2'yi kullanarak web uygulaması oluşturuyorum Sorun, CookieInterceptor'da iş yapamıyorum. Ben src/struts.xml bu denedim:Struts2 portlet çerezleri kullanarak çerezleri oku CookieInterceptor
<package name="web-app-default" extends="struts-portlet-default , json-default" abstract="true">
<interceptors>
<interceptor name="superInterceptor" class="ru.app.SuperInterceptor" />
<interceptor-stack name="ekp-cookie-stack">
<interceptor-ref name="cookie">
<param name="cookiesName">my-filter-cookie</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="portletDefaultStack" />
<global-results>
<result name="error">/jsp/common/error.jsp</result>
</global-results>
</package>
Ve motor: setCookiesMap çağrılır değil
public abstract class EventGeneralAction extends GeneralAction implements CookiesAware{
//some code...
/** {@link CookieInterceptor} should inject ekp-filter-cookie. */
@SuppressWarnings("unchecked")
public void setCookiesMap(Map cookies){
LOG.trace("#setCookiesMap -> cookies[{}]", cookies);
this.cookies = cookies;
}
}
yöntemi. Firebug kullandım, gerçekten görüyorum, bu istek üstbilgisinde "benim-filtre-cookie" var (JQuery cookie eklentisini kullanarak). Mozilla için WebDeveloper, tarayıcının böyle bir çerez içerdiğini ve bu sürenin CURRENT_TIME + 1 yıl sona ereceğini gösterir.
Başka bir yapılandırma denedim. Eylem için önleme yazdım:
<!-- Shows events on desired day of year. ShowDayEventsAction is a subclass of EventGeneralAction -->
<action name="main" class="ru.app.ShowDayEventsAction" >
<interceptor-ref name="cookie">
<param name="cookiesName">my-filter-cookie</param>
</interceptor-ref>
<result>/jsp/event/view/day.jsp</result>
</action>
Yine başarısız ...? Neyi yanlış yapıyorum? Lütfen öner.
Sadece anladım. Düşündüm ki, ** **, ** default-interceptor-ref ** olarak tanımlanan yığına eklenecektir, ama benim hatamdı. –
Sergey
SystemOut.log'da garip bir istisna var: – Sergey
[22.11.10 23: 31: 30: 177 MSK] 0000006c SystemOut O 11/22 23: 31: 30.176 [WARN] com.opensymphony.xwork2.util.logging.commons.CommonsLoggerOgnl ValueStack: com.opensymphony.xwork2.util.logging.commons.CommonsLoggerError ayar ifadesi 'my-filter-cookie' değeri ile 'SOME-VALUE-GOEs-HERE': (my- filter) - ognl.SimpleNode öğesinde . setValueBody (SimpleNode.java:257) Neden çalışıyor? benim-filtre-cookie bir çerez ... Anlama. Belki '-' işareti OGNL için kafa karıştırıcıdır? – Sergey