Hi All,
I am getting Null PointerException when i tried to view my login page.
Struts is not able to find the message resources.
This is configuration in my struts-config.xml
<message-resources parameter="security" null="false"></message-resources>
i am getting
java.lang.NullPointerException at
org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1174)
at org.apache.struts.taglib.TagUtils.message(
TagUtils.java:1037) at org.apache.struts.taglib.bean.MessageTag.doStartTag(
MessageTag.java:224) at
jsp_servlet._content._jsp.__login._jspService(__login.java:161) at
weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
I have attached the struts source i and i found it is happening in the
following line of TagUtils class
----
if (resources == null) {
ModuleConfig moduleConfig = getModuleConfig(pageContext); //
Returns Null !!
resources =
(MessageResources) pageContext.getAttribute(
bundle + moduleConfig.getPrefix(),
PageContext.APPLICATION_SCOPE);
}
While debugging, it is returning the ModuleConfig as null. I dont' know why
it is trying to get the module config even though i haven't configured any
struts module.
This is my web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>AdminWar</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/spring/*.xml</param-value>
</context-param>
<!-- load a shared service layer parent application context -->
<context-param>
<param-name>locatorFactorySelector</param-name>
<param-value>beanRefContext.xml</param-value>
</context-param>
<context-param>
<param-name>parentContextKey</param-name>
<param-value>application-context</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<!--<init-param>
<param-name>application</param-name>
<param-value>security</param-value>
</init-param>
--></servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/c.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html-extn.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html-extn.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/fmt.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html-el.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html-el.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-bean-el.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-bean-el.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/tavant_taglib.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/tavant_taglib.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/homer.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/homer.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/PermissionTags.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/PermissionTags.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/oscache.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/oscache.tld</taglib-location>
</taglib>
<security-constraint>
<web-resource-collection>
<web-resource-name>SecurePages</web-resource-name>
<description>Security constraint /secure</description>
<url-pattern>/content/jsp/*</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description>These are the roles who have access</description>
<role-name>users</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>myrealm</realm-name>
<form-login-config>
<form-login-page>/content/jsp/login.jsp</form-login-page>
<form-error-page>/content/jsp/loginError.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>An Employee</description>
<role-name>users</role-name>
</security-role>
</web-app>
thanks in advance,
--
Ramkumar K,
<a href="http://www.spreadfirefox.com/?q=affiliates&id=0&t=65"><img
border="0" alt="Get Firefox!" title="Get Firefox!" src="
http://sfx-images.mozilla.org/affiliates/Buttons/110x32/safer.gif"/></a>