[ http://mc4j.org/jira/browse/STS-417?page=comments#action_10796 ] Ben Gunter commented on STS-417: --------------------------------
I like it > Add boolean 'enabled' (optional) attribute to stripes:link tag > -------------------------------------------------------------- > > Key: STS-417 > URL: http://mc4j.org/jira/browse/STS-417 > Project: Stripes > Issue Type: New Feature > Components: Tag Library > Affects Versions: Release 1.5 > Reporter: Frederic Daoud > Assigned To: Tim Fennell > Priority: Minor > > As discussed in this thread: > http://thread.gmane.org/gmane.comp.java.stripes.user/4612 > I suggest adding a boolean attribute, 'enabled', to the stripes:link tag. > This attribute would be optional and true by default. If set to false, the > tag renders the body but not the link, such that the link appears as plain > text only. This is useful, for example, to enable links based on some dynamic > condition, e.g. user rights. > <stripes:link href="..." enabled="${user.allowed}">Link</stripes:link> > Very easy to implement, for example, against SVN trunk version 608: > Index: src/net/sourceforge/stripes/tag/LinkTag.java > =================================================================== > --- src/net/sourceforge/stripes/tag/LinkTag.java (revision 608) > +++ src/net/sourceforge/stripes/tag/LinkTag.java (working copy) > @@ -31,6 +31,7 @@ > * @author Tim Fennell > */ > public class LinkTag extends LinkTagSupport implements BodyTag { > + private boolean enabled = true; > /** > * Does nothing. > @@ -62,13 +63,17 @@ > @Override > public int doEndTag() throws JspException { > try { > - set("href", buildUrl()); > - writeOpenTag(getPageContext().getOut(), "a"); > + if (enabled) { > + set("href", buildUrl()); > + writeOpenTag(getPageContext().getOut(), "a"); > + } > String body = getBodyContentAsString(); > if (body != null) { > getPageContext().getOut().write(body.trim()); > } > - writeCloseTag(getPageContext().getOut(), "a"); > + if (enabled) { > + writeCloseTag(getPageContext().getOut(), "a"); > + } > } > catch (IOException ioe) { > throw new StripesJspException("IOException while writing output > in LinkTag.", ioe); > @@ -80,6 +85,12 @@ > return EVAL_PAGE; > } > + /** Sets the (optional) flag that indicates if the link is enabled. */ > + public void setEnabled(boolean enabled) { this.enabled = enabled; } > + > + /** Gets the (optional) flag that indicates if the link is enabled. */ > + public boolean isEnabled() { return enabled; } > + > /** Pass through to [EMAIL PROTECTED] LinkTagSupport#setUrl(String)}. */ > public void setHref(String href) { setUrl(href); } > /** Pass through to [EMAIL PROTECTED] LinkTagSupport#getUrl()}. */ > Index: resources/stripes.tld > =================================================================== > --- resources/stripes.tld (revision 608) > +++ resources/stripes.tld (working copy) > @@ -807,6 +807,16 @@ > <type>java.lang.Object</type> > </attribute> > <attribute> > + <description> > + An optional flag indicating whether or not the link should > be enabled. If set to > + false, the link is considered to be disabled, and the link > tags will not be > + rendered; the link body will be rendered as plain text. > + Default value is true. > + </description> > + > <name>enabled</name><required>false</required><rtexprvalue>true</rtexprvalue> > + <type>boolean</type> > + </attribute> > + <attribute> > <description>The character set used to encode the referenced > page. (HTML Pass-through)</description> > > <name>charset</name><required>false</required><rtexprvalue>true</rtexprvalue> > </attribute> > What do you think? > Thanks, > Freddy -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://mc4j.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Stripes-development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/stripes-development
