struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Deadman, Hal" <hal.dead...@tallan.com>
Subject localizing direct template content with bean:message
Date Thu, 01 Mar 2001 17:46:17 GMT
I wanted to localize direct content when using templates such as the
title of a page. I modified the bean:message tag so it would read its
key from the tag body if it wasn't specified as an attribute. Is there a
better way to internationalize direct content with templates? Are there
any other reasons that someone would want to get the bean:message key
from the body of the tag? Are there reasons why this doesn't make sense?

 
<bean:message>
<template:get name="titlekey" flush="false"/>
</bean:message>

Below are the diffs to the files I modified and I attached the
MessageTag class. If these changes aren't worthwhile then I can wait
until localization is built into the templates framework. 
 
Thanks, Hal
 
src/doc/struts-bean.xml
 
407c407
<     <bodycontent>empty</bodycontent>
---
>     <bodycontent>JSP</bodycontent>
473c473
<       <required>true</required>
---
>       <required>false</required>
 
src/share/org/apache/struts/taglib/bean/MessagesTag.java
71c71
< import javax.servlet.jsp.tagext.TagSupport;
---
> import javax.servlet.jsp.tagext.BodyTagSupport;
88c88
< public class MessageTag extends TagSupport {
---
> public class MessageTag extends BodyTagSupport {
210a211,214
>     /**
>      * The body text which will be used as the key if key attribute
not spec
>      */
>     protected String text = null;
228a233,235
>         // Do nothing until doEndTag() is called
>         return (EVAL_BODY_TAG);
>     }
229a237,253
>     /**
>      * Process the body text of this tag (if any).
>      *
>      * @exception JspException if a JSP exception has occurred
>      */
>     public int doAfterBody() throws JspException {
>         String text = bodyContent.getString();
>         if (text != null) {
>             text = text.trim();
>             if (text.length() > 0)
>                 this.text = text;
>         }
>         return (SKIP_BODY);
>     }
> 
> 
>     public int doEndTag() throws JspException {
237a262,270
>         if (key == null)
>         {
>             if (text == null )
>             {
>                 return (EVAL_PAGE);
>             }
>             key = text;
>         }
> 
251,253c284,285
<  // Continue processing this page
<  return (SKIP_BODY);
< 
---
>         // Continue evaluating this page
>         return (EVAL_PAGE);
256d287
< 
261d291

Mime
View raw message