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