You need to configure your message resources through the struts-config.xml - init parameters in the web.xml don't work in Struts 1.2
http://struts.apache.org/userGuide/configuration.html#resources_config So in your case you need something like the following in your struts-config.xml.... <message-resources parameter="..." factory="org.example.MyMessageResourceFactory " /> You can use the "parameter" element for any configuration value you want - thats the argument passed to the factory's createResources() method. I believe you can also use <set-property> elements for other config values - although I've never actually tried it out. Niall ----- Original Message ----- From: <[EMAIL PROTECTED]> Sent: Thursday, June 16, 2005 8:03 PM > I have a project where I want to use the Struts Validator. By default the > error messages are read from a properties file. However I'm required to > read the error messages from a database. The question is how do I do this? > I found this article > http://www.informit.com/articles/article.asp?p=101174&rl=1, from the > "Struts Kick Start" book, which shows how to do this but it doesn't seem > to work. > > Here is what I did. First I created a MessageResourcesFactory that creates > my version of MessageResources: > > import org.apache.struts.util.MessageResources; > import org.apache.struts.util.MessageResourcesFactory; > > public class MyMessageResourceFactory extends MessageResourcesFactory { > > public MessageResources createResources(String arg0) { > return new DbMessageResources(this, arg0); > } > } > > Next I created my version of MessageResources: > > import java.util.Locale; > import org.apache.struts.util.MessageResources; > import org.apache.struts.util.MessageResourcesFactory; > > public class DbMessageResources extends MessageResources implements > java.io.Serializable > { > > public MessageResource(MessageResourcesFactory arg0, String arg1) > { > super(arg0, arg1); > } > > public String getMessage(Locale arg0, String key) { > // based on locale and key, retrieve message from database > // for this example just return the key > return key; > } > > } > > Lastly, the article says to add these parameters ("application" and > "factory") to the ActionServlet config in web.xml file to tell Struts to > use my implementation. > > <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> > <param-name>application</param-name> > <param-value>org.example.DbMessageResources</param-value> > </init-param> > <init-param> > <param-name>factory</param-name> > <param-value>org.example.MyMessageResourceFactory </param-value> > </init-param> > <load-on-startup>2</load-on-startup> > </servlet> > > Trouble is this code never gets called. I'm on Struts 1.2.7. Is this the > right way to get Struts to use my version of MessageResources, or is there > a different way to do this now? I've searched for more documentation > regarding reading resources from the database, but haven't found much. Any > hints, tips, or references would be greatly appreciated. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]