Win a copy of Java Concurrency Live Lessons this week in the Threads forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Using resource bundle for validation messages in Spring  RSS feed

jas preet
Ranch Hand
Posts: 78
Eclipse IDE Java Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What i am trying to do is
1. putting up the messages file in WEB-INF/i18/ and trying to validate the messages on login.

The dispatcher-servlet.xml contains

the valdation class

below is the error console
org.springframework.context.NoSuchMessageException: No message found under code 'username.required' for locale 'en_US'.
at org.springframework.web.servlet.tags.form.ErrorsTag.exposeAttributes(
at org.springframework.web.servlet.tags.form.AbstractHtmlElementBodyTag.writeTagContent(
at org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(
at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(
at org.apache.jsp.WEB_002dINF.jsp.home_jsp._jspService(
at org.apache.jasper.runtime.HttpJspBase.service(
at javax.servlet.http.HttpServlet.service(
at org.apache.jasper.servlet.JspServletWrapper.service(
at org.apache.jasper.servlet.JspServlet.serviceJspFile(
at org.apache.jasper.servlet.JspServlet.service(
at javax.servlet.http.HttpServlet.service(
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
at org.apache.catalina.core.ApplicationDispatcher.invoke(
at org.apache.catalina.core.ApplicationDispatcher.processRequest(
at org.apache.catalina.core.ApplicationDispatcher.doForward(
at org.apache.catalina.core.ApplicationDispatcher.forward(
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(
at org.springframework.web.servlet.view.AbstractView.render(
at org.springframework.web.servlet.DispatcherServlet.render(
at org.springframework.web.servlet.DispatcherServlet.doDispatch(
at org.springframework.web.servlet.DispatcherServlet.doService(
at org.springframework.web.servlet.FrameworkServlet.processRequest(
at org.springframework.web.servlet.FrameworkServlet.doGet(

But when i put my properties file under src folder and change my dispatcher-servelet as
<bean id="messageSource" class="">
<property name="basenames" value="validationMessages_en">

all seems to work fine.

What may be the problem if i use i18n and put my properties file under this folder
Sean Clark
Posts: 377
Android Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

If in doubt check the javadocs:

Set an array of basenames, each following ResourceBundle conventions: essentially, a fully-qualified classpath location. If it doesn't contain a package qualifier (such as org.mypackage), it will be resolved from the classpath root.

Which is why when you put it on the classpath root it is found.

Hope this helps.

Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!