[Java lista] Spring Struts Action getResources NullPointerException

chico at tisztanet.hu chico at tisztanet.hu
2007. Feb. 18., V, 18:07:12 CET


Sziasztok!

> a környezet Struts + Spring. LookupDispatchActionSupport osztályt
> szeretnék használni, de az használja az Action
> getResources(HttpServletRequest request, String key) metódusát, ami
> NullPointerException-nel elszáll. Ugyanis a getServlet() null. Ha
> kipróbálom, akkor az én osztályomban hívva a getServlet() szintén
> null. Van valami sejtésem, hogy a Spring kavar be. Valami ötlet?

Konkrétan a kérdéses osztályt még nem használtam, de Spring alatt a
Struc-ot így használom (Spring 1.2.6, és a hozzá csomagolt struct.jar):

web.xml-ben:

...
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
<servlet-name>irm-vps</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

...

A "load-on-startup" értékek fontosak! Programon belül így értem a Spring
bean konténert:


public class BaseActionForm extends ActionForm {
...
public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
    ServletContext servletContext = getServlet().getServletContext();
    WebApplicationContext wac =
WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
...
}
}

A "wac" -ból minden bean az id alapján elérhető. Nekem működik Tomcat 5.5
és Sun ONE 7 alatt is.

Üdv,
Chico

PS: Bocs a rossz tördelésért.




További információk a(z) Javalist levelezőlistáról