Portal: JBoss 2.6.6 GA with JBoss AS 4.2.3.
NPE while trying to use the JSTL fmt:message tag.
| Please find the stack trace below:
| 18:58:46,984 ERROR [[jsp]] Servlet.service() for servlet jsp threw
exception java.lang.NullPointerException
| at
org.apache.taglibs.standard.tag.common.fmt.BundleSupport.findMatch(BundleSupport.java:250)
| at
org.apache.taglibs.standard.tag.common.fmt.BundleSupport.getLocalizationContext(BundleSupport.java:186)
| at
org.apache.taglibs.standard.tag.common.fmt.BundleSupport.doStartTag(BundleSupport.java:95)
| at
org.apache.jsp.layouts.autodesk._2column_jsp._jspx_meth_fmt_005fbundle_005f0(_2column_jsp.java:563)
| at
org.apache.jsp.layouts.autodesk._2column_jsp._jspService(_2column_jsp.java:180)
| at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
| at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
| at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
|
When we look at the code for the BundleSupport.findMatch()
| 243 private static LocalizationContext findMatch(PageContext
pageContext,
| 244 String basename) {
| 245 LocalizationContext locCtxt = null;
| 246
| 247 // Determine locale from client's browser settings.
| 248
| 249 for (Enumeration enum_ =
Util.getRequestLocales((HttpServletRequest )pageContext.getRequest());
| 250 enum_.hasMoreElements(); ) { // <-- Line no 250.
| 251 Locale pref = (Locale ) enum_.nextElement();
| 252 ResourceBundle match = findMatch(basename, pref);
|
Enumeration enum_ is being returned as null as part of the method call
Util.getRequestLocales().
if we look at the code for Util.getRequestLocales()
| 280 Enumeration values = request.getHeaders("accept-language");
| 281 if (values.hasMoreElements()) {
| 282 // At least one "accept-language". Simply return
| 283 // the enumeration returned by request.getLocales().
| 284 // System.out.println("At least one accept-language");
| 285 return request.getLocales();
| 286 } else {
| 287 // No header for "accept-language". Simply return
| 288 // the empty enumeration.
| 289 // System.out.println("No accept-language");
| 290 return values;
|
In the above code though the NPE problem at Ln.no 280 has been fixed still the
reqeust.getLocales() is returning null and the JSTL tag is ending up with the
NPE.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180637#4180637
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180637
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user