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

Reply via email to