You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Andreas Mähler <an...@stud.uni-karlsruhe.de> on 2008/09/18 01:12:34 UTC

[S2] Avoiding usage of struts-tags

Hello Everyone,

do you know if the "communication" between the S2 Action and the 
struts-tags is standardised? Or am I opening a black box if I replace 
sth. like

<s:textarea id="description" name="object.description" cols="40" rows="6"/>

with a VanillaHTML+JSTL version like

<textarea id="description" name="object.description" cols="40" 
rows="6">${object.description}</textarea>

?

It is currently working; but can I rely on it?

Do you know how the field- and action-errors can be accessed with JSTL-EL?

The reason I do this is because I don't like the struts-tags and OGNL.

Thanx in advance,
~Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [S2] Avoiding usage of struts-tags

Posted by Andreas Mähler <an...@stud.uni-karlsruhe.de>.
Hello!

Jeromy Evans schrieb:

> I didn't even know s:colgroup existed.

Whoops ;-)
s:optgroup is what I meant

It's 3 in the morning here in GER and I am still working at my diploma 
thesis... should go to sleep now :-)

Thanx for the hints,
~Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [S2] Avoiding usage of struts-tags

Posted by Jeromy Evans <je...@blueskyminds.com.au>.
Andreas Mähler wrote:
>
> I've already tried that, but I don't know Freemaker yet and I don't 
> even like the code that is generated by the simple theme. (e.g: it was 
> my intention to write a 100% JavaScript-free webinterface) I also 
> think that the interface is quirky and not as straightforward as 
> JSTL's (at least the core tags - i rarely use the other stuff) - but 
> that's just my opinion. I think I've also discovered a bug in the 
> s:colgroup tag, so I can't use it. I've opened a ticket[1], but I 
> think that I'm not allowed to schedule it to - say - the 2.1.3 release 
> (at least if I don't provide a patch).
>
> Greetings,
> ~Andreas

I didn't even know s:colgroup existed.

I've been through the same pain and have many times started writing new 
tag implementations (less optional attributes, leaner templates) but its 
much larger than I expected.  Even though I dislike the tags too, they 
do have many things going for them to the credit of the original 
developers; automatically include field errors in the right place and 
(usually) selecting the correct option in a select, populating values 
from collections etc. Complex forms become a mess if you don't use them.

FreeMarker is overwhelming at first because the numerous <#rt> tags 
distracting from the important fields.  I threw together this tool 
(http://www.freemarker-tool.com/) specifically for tweaking struts2 tag 
templates (see the examples).

In one of my projects, prior to struts 2.0.9, I created a lot of JSP 
tags (.tag files) that wrapped struts2 simple tags with more 
behaviour/markup.  eg. textfields that included a radio button to enable 
it first and an attribute to set the radio value.  In 2.0.9 EL in 
struts2 tags was disallowed so eventually I had to rewrite them as 
custom struts 2 tags.  Creating the new tags and templates was 
surprisingly straight-forward and definitely more productive that copy & 
pasting the relevant JSP into every page. 

Anyway, hopefully just giving you some ideas.

cheers,
 Jeromy


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [S2] Avoiding usage of struts-tags

Posted by Andreas Mähler <an...@stud.uni-karlsruhe.de>.
Thank you for your quick answer, Jeromy!

Jeromy Evans schrieb:
>> do you know if the "communication" between the S2 Action and the 
>> struts-tags is standardised? Or am I opening a black box if I replace 
>> sth. like
>>
>> <s:textarea id="description" name="object.description" cols="40" 
>> rows="6"/>
>>
>> with a VanillaHTML+JSTL version like
>>
>> <textarea id="description" name="object.description" cols="40" 
>> rows="6">${object.description}</textarea>
>>
>> ?
> 
> This approach is okay.  You will struggle with collections though (like 
> populating the values of a select)
> An edge case is radio buttons as they include a hidden field (or was 
> that checkboxes).  Just check the templates for what they render as html.

It was the checkboxes - i know about this issue (CheckboxInterceptor) 
and i think that I can handle it :-) Haven't tried to replace 
Collection-backed tags like s:select yet, but I think (using c:forEach) 
it shouldn't be too painful aswell.


>> The reason I do this is because I don't like the struts-tags and OGNL.
> 
> That's understandable, but the template system of the tags is quite good 
> and it may be more productive to create better templates.

I've already tried that, but I don't know Freemaker yet and I don't even 
like the code that is generated by the simple theme. (e.g: it was my 
intention to write a 100% JavaScript-free webinterface) I also think 
that the interface is quirky and not as straightforward as JSTL's (at 
least the core tags - i rarely use the other stuff) - but that's just my 
opinion. I think I've also discovered a bug in the s:colgroup tag, so I 
can't use it. I've opened a ticket[1], but I think that I'm not allowed 
to schedule it to - say - the 2.1.3 release (at least if I don't provide 
a patch).

Greetings,
~Andreas

[1] https://issues.apache.org/struts/browse/WW-2758


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [S2] Avoiding usage of struts-tags

Posted by Jeromy Evans <je...@blueskyminds.com.au>.
Andreas Mähler wrote:
> Hello Everyone,
>
> do you know if the "communication" between the S2 Action and the 
> struts-tags is standardised? Or am I opening a black box if I replace 
> sth. like
>
> <s:textarea id="description" name="object.description" cols="40" 
> rows="6"/>
>
> with a VanillaHTML+JSTL version like
>
> <textarea id="description" name="object.description" cols="40" 
> rows="6">${object.description}</textarea>
>
> ?

This approach is okay.  You will struggle with collections though (like 
populating the values of a select)
An edge case is radio buttons as they include a hidden field (or was 
that checkboxes).  Just check the templates for what they render as html.

>
> It is currently working; but can I rely on it?
>
> Do you know how the field- and action-errors can be accessed with 
> JSTL-EL?
>

${actionErrors} is a Collection<String>
${actionMessages} is a Collection<String>
${fieldErrors} is a Map<String, List<String>> where the key is the name 
of the field

> The reason I do this is because I don't like the struts-tags and OGNL.

That's understandable, but the template system of the tags is quite good 
and it may be more productive to create better templates.




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org