Below is a response I got for a problem (posted below that) in which I believe Orion may be doing something weird w/ my properties files in the WEB-INF/classes dir. If I delete the property file, Orion is still finding it (thought it's not there). I've triple checked everywheres and don't have any of these files within the classpath or anywheres else that it would be getting confused with.
 
Any help much appreciated.
 
---------------------- this is the response to my original post ------------------------
 
 I got exactly the same error in VAJ-Tomcat environment when I first time
load my own project after running the struts-examples successfully.

It turned out that Tomcat mixed up the property files that are loaded
into its environment and could not figure out who is who.

Fix:

Leave only the project you are working with in Tomcat's classpath
and projectpaths.

For me in VAJ, I have to also delete the JSP compiled servlet project
to clean it up.
-------------------- this was my original post -----------------------------------------

I've dug into the struts code and am posting this problem again w/ a little
more info. I'm using Orion 1.4.7.

500 Internal Server
Error javax.servlet.jsp.JspException: Missing message for key main.title at
org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java,
Compiled Code) at /index.jsp._jspService(/index.jsp.java, Compiled Code) at
...

According to the above error and this snippit of code taken from the 4-20
tar.gz source, the properties file that my web-app is looking for is being
found and all seems to be setup/configured correctly, else the error would
be about messageTag.resources (not finding the property file). I've also
included my properties (cais.properties) file below with this key included
in it.

The only thing else I think that can be wrong is the value of the args array
just before the Exception is thrown and I was wondering if anyone could tell
me what those might be.

The line with 'String message = resources.getMessage(locale, key, args);'
must be returning null and so this is giving me the above error, but I'm not
sure what's being stuffed into it or where it comes from.

Any help much appreciated.

----- MessageTag.java ------------------------------------------------

   public int doStartTag() throws JspException {

    // Acquire the resources object containing our messages
    MessageResources resources = (MessageResources)
        pageContext.getAttribute(bundle, PageContext.APPLICATION_SCOPE);
    if (resources == null)
        throw new JspException
       (messages.getMessage("messageTag.resources", bundle));

    // Calculate the Locale we will be using
    Locale locale = null;
    try {
        locale = (Locale)
       pageContext.getAttribute(localeKey, PageContext.SESSION_SCOPE);
    } catch (IllegalStateException e) { // Invalidated session
        locale = null;
    }
    if (locale == null)
        locale = defaultLocale;

    // Construct the optional arguments array we will be using
    Object args[] = new Object[5];
    args[0] = arg0;
    args[1] = arg1;
    args[2] = arg2;
    args[3] = arg3;
    args[4] = arg4;

    // Retrieve the message string we are looking for
    String message = resources.getMessage(locale, key, args);
    if (message == null)
        throw new JspException
       (messages.getMessage("messageTag.message", key));


------ ~WEB-INF/web.xml ------------------------
<servlet>
       <servlet-name>action</servlet-name>
       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
       <init-param>
          <param-name>application</param-name>
          <param-value>cais</param-value>
       </init-param>
    ...

------ ~/index.jsp ------------------------
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html>
<head>
<title>
    <bean:message key="main.title" />
</title>

------ ~WEB-INF/classes/cais.properties ------------------------
# C.A.I.S. Resource Bundle
main.title=CAIS
main.master=Master View
main.detail=Detailed View

Reply via email to