Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Using resource bundle for validation messages in Spring

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.

  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic