On 3/25/06, Rene Gielen <[EMAIL PROTECTED]> wrote:
> So I am
> +1 for the package name 'org.apache.struts.action2'
> +1 for tag prefix a
> +1 for the other points of Don's proposal

Of course, the tag prefix is something configured on a page-by-page
basis. In my own work, I might find "a" difficult to use, since it's
easily confused with the <a tag. A common UI Tag idiom is to use the
UI URL tag and <a tag together. So it would read something like this

----

<li><a href="<a:url action="Registration!input"/>"><a:text
name="index.registration"/></a></li>

-----

Maybe it's just me, but it seems like "a" is overloaded in an
expression like this.

----

<a2: seems like a slight improvement

<li><a href="<a2:url action="Registration!input"/>"><a2:text
name="index.registration"/></a></li>

----

My first alternative suggestion would be to use the prefix "ui", since
we often refer to them as the UI tags. So, we'd have something like:

-----

<li><a href="<ui:url action="Registration!input"/>"><ui:text
name="index.registration"/></a></li>

and

    <ui:if test="task == 'Delete'">
        <ui:submit value="%{getText('button.confirm')}"/>
        <ui:reset value="%{getText('button.reset')}"/>
    </ui:if>
    <ui:else>
        <ui:submit value="%{getText('button.save')}"/>
    </ui:else>

-----

But, personaly, I find <ui: a little clumsy to type with my stubby
little fingers, because of where the keys are positioned on a
QWERTY/US keyboard.

Now, I expect that, for consistency, we would be changing the URI to
"action" or "action2". Given that "a" is already being used by HTML,
the next most obvious one-letter abbreviation might be "n", being the
last letter in Action. But <n: is hard to type too.

We can't use "c", since that's a JSTL default. The next letter is t.
The token <t: is not so hard to type, and it also lines up with "tags"
in UI Tags. So, we'd have something like

<%@ taglib uri="/action2" prefix="t" %>

<li><a href="<t:url action="Registration!input"/>"><t:text
name="index.registration"/></a></li>

and

    <t:if test="task == 'Delete'">
        <t:submit value="%{getText('button.confirm')}"/>
        <t:reset value="%{getText('button.reset')}"/>
    </t:if>
    <t:else>
        <t:submit value="%{getText('button.save')}"/>
    </t:else>

Of course, <saf: is pretty easy to type too.

<%@ taglib uri="/action2" prefix="saf" %>

<li><a href="<saf:url action="Registration!input"/>"><saf:text
name="index.registration"/></a></li>

and

    <saf:if test="task == 'Delete'">
        <saf:submit value="%{getText('button.confirm')}"/>
        <saf:reset value="%{getText('button.reset')}"/>
    </saf:if>
    <saf:else>
        <saf:submit value="%{getText('button.save')}"/>
    </saf:else>

I just committed some pages to the Action2 MailReader app, using the
different prefixes.

* http://tinyurl.com/qgeeu

-Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to