public int doStartTag() throws JspException {
StringBuffer results = new StringBuffer("<a");
prepareAttribute(results, "name", getLinkName());
if (getLinkName() == null || getForward() != null || getHref() != null ||
getPage() != null || getAction() != null) {
prepareAttribute(results, "href", calculateURL());
}
prepareAttribute(results, "target", getTarget());
prepareAttribute(results, "accesskey", getAccesskey());
prepareAttribute(results, "tabindex", getTabindex());
results.append(prepareStyles());
results.append(prepareEventHandlers());
prepareOtherAttributes(results);
results.append(">");
TagUtils.getInstance().write(pageContext, results.toString());
this.text = null;
return (EVAL_BODY_TAG);
}