I sort of take the philosophy of "wrapping" (or perhaps "shielding") my applications from the underlying framework I'm using in order to allow later customizations or tweaks. For example, its pretty much a Struts best practice to subclass your own BaseForm and BaseAction (these are the names I use) rather than Struts ActionForm and Action. It comes in very handy. In our last application BaseForm originally extended from ActionForm, but later we applied Validator and extended it from ValidatorForm instead (and override validation, called super, made it final so subclasses couldn't screw with the validations inadvertently).

Same approach for taglibs. I created a <custom:label> tag that borrowed a little code from <bean:message> but did other things like change the style if the field known by the key was in error and put an asterisk there if the field was required by Validator. I have not needed this for <bean:write> but perhaps the same technique of shadowing/wrapping/shielding your app with a <custom:write> tag but steal the code from <bean:write> to do what you want that it doesn't currently do. In our environment, we could easily create a <bean:write> replacement and apply it globally across all pages with an IntelliJ find/replace in path and be done with it :)

Erik


Ted Husted wrote:
IMHO, once we opened the door past the filter attribute, people would suggest that we start adding this or that to the bean write tag as well.
I would say that any transformations beyond the escape filter really belong on some other tag.
IMHO, a better place for a tag like this is Taglibs. This functionality does not involve the core framework directly, and the effort may get more exposure in taglibs than here.
Also, IMHO, we should encourage people to look to Taglibs for general-purpose tags. Post 1.1, we might seriously consider migrating the bean, logic, tile, and template packages to Taglibs (if they will have them), where it can stand toe-to-
toe with JSTL.

This would let us focus on the HTML tags that interact with the framework, and leave the generic functionality to the (other) Jakarta community that specializes in such things.

But if someone supplies the patch, and a Committer applies it, like Craig, I'm +0 on the deal.

-Ted.

10/24/2002 5:12:19 AM, Inge Solvoll <[EMAIL PROTECTED]> wrote:


I actually didn't think of creating a tag that
can be wrapped around the
bean:write tag, that's obviously the best
solution for me. I'll check if
there is something like that in Jakarta taglib. I
believe someone here
mentioned a 'replace' tag.

But, for me this is still an interesting
question. The web application I'm
working on is very big and has a lot of text
input and output. All of our
inputted text should preserve linebreaks. Text
entered in regular text
fields doesn't have linebreaks anyway, and text
from textareas should have
breaks. I see that it isn't too pretty code to
always insert BR-tags in
bean:write, but couldn't this at least be an
option, like this:

bean:write name="myBean" property="myProp"
preserveLineFeed="false",

where preserveLineFeed would be true by default?
The tag would then use a
method like the breakNewlines(String) method
suggested below.

For my web application this would be far more
elegant than wrapping another
custom tag around every single bean:write that
needs to preserve line
breaks. As I said, the need to preserve
linebreaks is very common in my
experience, I rarely want to NOT preserve
linebreaks... At least for me
because most of the text that is outputted is
text inputted by a user in a
textfield or textarea.

The bean:write tag already has an attribute
"filter" that escapes
HTML-formatting, which in my opinion covers the
same kind of thing, how the
output looks when rendered in html, why is it not
elegant to do the same
thing for linebreaks?

At 12:02 23.10.2002 -0500, you wrote:

There are already taglibs that do this

transformation, aren't there?
Doesn't the taglibs project have things that

address this? Is there a way
to do this using the JSTL (Martin?)?

David Graham wrote:


If this is a common problem, maybe we could add

a method to Action like
breakNewLines(String) that does this

transformation. The <bean:write>
tag should not do any transformation, just

display what it's given.

What do you think?

Dave

--
Eddie Bush




--
To unsubscribe, e-mail:   <mailto:struts-dev-

[EMAIL PROTECTED]>

For additional commands, e-mail: <mailto:struts-

[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:struts-dev-
[EMAIL PROTECTED]>

For additional commands, e-mail: <mailto:struts-
[EMAIL PROTECTED]>







--
To unsubscribe, e-mail:   <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>




--
To unsubscribe, e-mail:   <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>

Reply via email to