Hello there,
I am creating a configurable errors file which gets loaded as a
properties file from an init servlet:
import java.io.IOException;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class ErrorInitServlet extends HttpServlet {
static Properties errorProps = new Properties();
public void init() throws ServletException {
Properties props = new Properties();
try {
props.load(this.getClass().getClassLoader().getResourceAsStream(
"/error.properties"));
}
catch (IOException e) {
e.printStackTrace();
}
}
public static Properties getErrorProperties() {
return errorProps;
}
}
The error.properties file looks like this:
error.required.field=Required %s
error.invalid.entry=Invalid %s
error.unknown.entry=Unknown %s
I created an ActionErrors.java file:
package org.coffeebreak.wrapper;
import java.util.Formatter;
import java.util.ResourceBundle;
/**
* @author jdekker
*/
public class ActionError {
private final ResourceBundle m_resource;
public ActionError() {
m_resource = ResourceBundle.getBundle("error.properties");
}
public String getMessage(String id, Object... parameters) {
String value = m_resource.getString(id);
if (null != value) {
StringBuilder builder = new StringBuilder();
Formatter f = new Formatter(builder);
f.format(value, parameters);
f.flush();
return builder.toString();
}
return value;
}
}
I had my ant build script move the error.properties to:
TOMCAT_HOME/WEB-INF/classes/org/coffeebreak/wrapper/
Now, when I invoke this class, through a client, this is the error that I get:
INFO: Deploying web application archive coffeebreak.war
2007-01-16 13:55:41,753 WARN
[org.coffeebreak.model.AttributeBeanXmlConfigHelper] - commons
digester rules location:
file:/C:/DevTools/tomcat/jakarta-tomcat-5.5.9/webapps/coffeebreak/WEB-INF/classes/org/coffeebreak/model/attribute-rules.xml
2007-01-16 13:55:42,128 WARN
[org.coffeebreak.config.XmlConfigInitServlet] - Finished parsing the
attribute XML config file.
2007-01-16 13:55:42,128 WARN
[org.coffeebreak.config.LoadErrorProperties] - Loaded error.properties
file.
2007-01-16 13:56:16,421 ERROR
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/coffeebreak].[CoffeebreakAppServlet]]
- Servlet.service() for servlet CoffeebreakAppServlet threw exception
java.util.MissingResourceException: Can't find bundle for base name
/error.properties, locale en_US
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:805)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:549)
at org.coffeebreak.wrapper.ActionError.<init>(ActionError.java:21)
at
org.coffeebreak.views.EditUserPane.validateFields(EditUserPane.java:159)
at org.coffeebreak.views.EditUserPane.processSave(EditUserPane.java:148)
at
org.coffeebreak.views.EditUserPane.actionPerformed(EditUserPane.java:141)
Why is ActionError having trouble finding the error.properties file?
Is there a way to use my InitServlet's getter to set the resource
bundle? Am I going about this the wrong way?
Sincerely,
James
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]