Yes please.
On Nov 29, 2010, at 10:44 PM, Nikolaos Giannopoulos wrote:
> Rick,
>
> It's something I was actually tinkering with and looked at as I added
> localization to the <s:link tag the other day by pretty much doing the same
> thing... cloning the Stripes Link tag and adding localization to create my
> own <a:link tag. But until your reply I thought about putting this aside
> until later.
>
> In any event, your suggestion was very well detailed and bang on :-) So here
> is what I did:
>
> #1 Added tagging subclasses LocalizedMessageInfo and LocalizedMessageWarning
> messages
>
> #2 Cloned MessageTag into MessageWarningTag and MessageInfoTag with minor
> variations for picking the correct resource bundle keys; the only sizable
> change was at the end of the getMessages method I filtered the messages for
> the respective tags to only return a list of messages with its respective
> subclass. For example:
>
> // Filter out and return only messages that are subclasses of
> LocalizableMessageInfo
> if (messages != null) {
> List<Message> filteredMessages = new ArrayList<Message>();
> for (Message message : messages) {
> if (message instanceof LocalizableMessageInfo) {
> filteredMessages.add(message);
> }
> }
> // Swap full message list with the filtered message list
> messages = filteredMessages;
> }
> return messages;
>
>
> #3 Cloned the stripes resource property blocks to specify "infos" and
> "warnings" classes respectively
>
> stripes.messages.info.header=<div class="infos">
> stripes.messages.info.beforeMessage=<p>
> stripes.messages.info.afterMessage=</p>
> stripes.messages.info.footer=</div>
>
> stripes.messages.warning.header=<div class="warnings">
> stripes.messages.warning.beforeMessage=<p>
> stripes.messages.warning.afterMessage=</p>
> stripes.messages.warning.footer=</div>
>
>
> The nice thing about this mechanism is that it piggyback's on top of how
> Stripes handles messages so it integrates seamlessly (e.g. Stripes adding
> flash scope when messages added and a redirect performed).
>
> Anyone think this should be incorporated in the Stripes framework?
>
> Much Appreciated Rick!
>
> --Nikolaos
>
>
>
> Rick Grashel wrote:
>>
>> Nikolaos,
>>
>> It seems like you could easily extend LocalizableMessage and create an
>> InfoMessage and WarningMessage class. Then, you would just need to create
>> an InfoMessagesTag class and a WarningMessagesTag class. Have those classes
>> define before and after properties just like MessagesTag.java does. In
>> fact, copy and paste MessagesTag.java wholesale -- just change getMessages()
>> to return List<InfoMessage> or List<WarningMessage>. Then, define the tags
>> in your TLD file.
>>
>> Then, in your ActionBean, just instantiate InfoMessages or WarningMessages
>> and put them in the context just like a SimpleMessage. Then, you should
>> easily be able to have a <stripes:warningMessages> and
>> <stripes:infoMessages> tags in your JSPs. You would need to get rid of any
>> <stripes:messages> tags as they don't discern any type of messages to
>> display. Then, everything should work fine.
>>
>> Honestly, this probably is an hour or so worth of work and it continues to
>> follow Stripes' conventions. It might be worth some consideration.
>>
>> -- Rick
>>
>>
>> On Mon, Nov 29, 2010 at 7:18 PM, Nikolaos Giannopoulos
>> <[email protected]> wrote:
>> Rick,
>>
>> No... I get that... the need here is for an Ok / Info type message and a
>> Warn type message e.g. If someone just canceled editing an article neither
>> a <X> error icon nor a <checkmark> icon is appropriate... a warning is more
>> appropriate via say an <!> icon.
>>
>> This is not uncommon in software to provide 3 message states... info, warn
>> and error.
>> Stripes supports 2 but not everything is black or white sometimes its
>> grey... ;-)
>>
>> I looked at handling this by making the warning messages special cases that
>> would include a little extra HTML (and CSS) as follows:
>> cancel.canceledTx=<span class="warn">We canceled the changes you were making
>> to this {0}.</p>
>>
>> Problem is that this doesn't work very well for the size and placement of
>> the warn image (its now inside a span). Not to mention in the overriden
>> warn case we are trying to place the image in the span and in the info case
>> we are trying to place it in the div. Just messed up all around.
>>
>> Oh well...
>>
>> --Nikolaos
>>
>>
>>
>>
>> Rick Grashel wrote:
>>>
>>> Nikolaos,
>>>
>>> You can use the following in your StripesResources.properties files:
>>>
>>> The following is for standard messages:
>>>
>>> stripes.messages.header=<br/><div class="checkmark">
>>> stripes.messages.beforeMessage=
>>> stripes.messages.afterMessage=
>>> stripes.messages.footer=</div>
>>>
>>> Notice the 'class="checkmark"' piece.
>>>
>>> The following is for errors:
>>>
>>> stripes.errors.header=<br/><div class="error">The following errors
>>> occurred:</div><div class="error"><ol>
>>> stripes.errors.beforeError=<li>
>>> stripes.errors.afterError=</li>
>>> stripes.errors.footer=</ol></div>
>>>
>>> This is only one possible example you could use. Obviously, tailor it to
>>> your needs. But do you actually need more than just an error CSS class and
>>> an information CSS class? If so, then I'd think you need to write your own
>>> rendering strategy for messages.
>>>
>>> -- Rick
>>>
>>>
>>> On Mon, Nov 29, 2010 at 2:54 PM, Nikolaos Giannopoulos
>>> <[email protected]> wrote:
>>> Hi,
>>>
>>> So in Stripes we can display messages OR errors to users and everything
>>> seems OK.
>>> Editing the resource file makes in tandem with CSS appears to work well.
>>>
>>> However, what if one wants to display different types of messages for
>>> users like a Warning and Ok (checkmark)?
>>>
>>> e.g. "<checkmark-icon> Your article was saved"
>>> e.g. "<warn-icon> The language of this Article is English however you
>>> have selected Spanish"
>>>
>>> Is this possible with Stripes?
>>>
>>> --Nikolaos
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
>>> Tap into the largest installed PC base & get more eyes on your game by
>>> optimizing for Intel(R) Graphics Technology. Get started today with the
>>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
>>> http://p.sf.net/sfu/intelisp-dev2dev
>>> _______________________________________________
>>> Stripes-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/stripes-users
>>>
>>
>>
>
>
> --
> Nikolaos Giannopoulos
> Director of Information Technology
> BrightMinds Software Inc.
> e. [email protected]
> w. www.brightminds.org
> t. 1.613.822.1700
> c. 1.613.797.0036
> f. 1.613.822.1915
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev_______________________________________________
> Stripes-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-users
Joaquin Valdez
[email protected]
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users