dgraham 2003/02/13 21:42:07
Modified: src/share/org/apache/struts/taglib/html MessagesTag.java
Log:
Added debug log for missing resource key. PR# 17050.
Revision Changes Path
1.9 +51 -32
jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java
Index: MessagesTag.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- MessagesTag.java 30 Jan 2003 06:22:01 -0000 1.8
+++ MessagesTag.java 14 Feb 2003 05:42:07 -0000 1.9
@@ -7,7 +7,7 @@
*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 1999-2001 The Apache Software Foundation. All rights
+ * Copyright (c) 1999-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -66,9 +66,12 @@
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
+import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;
import org.apache.struts.util.RequestUtils;
import org.apache.struts.util.ResponseUtils;
@@ -94,6 +97,12 @@
MessageResources.getMessageResources(Constants.Package + ".LocalStrings");
/**
+ * Commons Logging instance.
+ * @since Struts 1.1
+ */
+ protected static Log log = LogFactory.getLog(MessagesTag.class);
+
+ /**
* Iterator of the elements of this error collection, while we are actually
* running.
*/
@@ -224,8 +233,9 @@
// Were any messages specified?
ActionMessages messages = null;
- if (message != null && "true".equalsIgnoreCase(message))
- name = Globals.MESSAGE_KEY;
+ if (message != null && "true".equalsIgnoreCase(message)) {
+ name = Globals.MESSAGE_KEY;
+ }
try {
messages = RequestUtils.getActionMessages(pageContext, name);
@@ -235,36 +245,45 @@
}
// Acquire the collection we are going to iterate over
- if (property == null)
+ if (property == null) {
iterator = messages.get();
- else
+ } else {
iterator = messages.get(property);
+ }
- // Store the first value and evaluate, or skip the body if none
- if (iterator.hasNext()) {
- ActionMessage report = (ActionMessage)iterator.next();
- String msg = RequestUtils.message(pageContext, bundle,
- locale, report.getKey(),
- report.getValues());
-
- pageContext.setAttribute(id, msg);
-
- if (header != null && header.length() > 0) {
- String headerMessage = RequestUtils.message(pageContext, bundle,
- locale, header);
- if (headerMessage != null) {
- // Print the results to our output writer
- ResponseUtils.write(pageContext, headerMessage);
- }
- }
-
- // Set the processed variable to true so the
- // doEndTag() knows processing took place
- processed = true;
+ // Store the first value and evaluate, or skip the body if none
+ if (iterator.hasNext()) {
+ ActionMessage report = (ActionMessage) iterator.next();
+ String msg =
+ RequestUtils.message(
+ pageContext,
+ bundle,
+ locale,
+ report.getKey(),
+ report.getValues());
+
+ // log missing key to ease debugging
+ if (msg == null && log.isDebugEnabled()) {
+ log.debug(messageResources.getMessage("messageTag.resources",
report.getKey()));
+ }
+
+ pageContext.setAttribute(id, msg);
+
+ if (header != null && header.length() > 0) {
+ String headerMessage = RequestUtils.message(pageContext, bundle,
locale, header);
+ if (headerMessage != null) {
+ // Print the results to our output writer
+ ResponseUtils.write(pageContext, headerMessage);
+ }
+ }
+
+ // Set the processed variable to true so the
+ // doEndTag() knows processing took place
+ processed = true;
- return (EVAL_BODY_TAG);
+ return (EVAL_BODY_TAG);
} else {
- return (SKIP_BODY);
+ return (SKIP_BODY);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]