HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
// build the anchor into the results
// render the anchor tag
WriteRenderAppender writer = new WriteRenderAppender(pageContext);
TagRenderingBase trb = TagRenderingBase.Factory.getRendering(TagRenderingBase.ANCHOR_TAG, req);
ByRef script = new ByRef();
if (!createAnchorBeginTag(req, script, trb, writer, REQUIRED_ATTR)) {
reportErrors();
if (!script.isNull())
write(script.getRef().toString());
localRelease();
return EVAL_PAGE;
}
// set the source and lowsrc attributes
// the lowsrc is deprecated and should be removed.
HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
if (_imgState.src != null) {
try {
String uri = PageFlowTagUtils.rewriteResourceURL(pageContext, _imgState.src, null, null);
_imgState.src = response.encodeURL(uri);
}
catch (URISyntaxException e) {
// report the error...
String s = Bundle.getString("Tags_Image_URLException",
new Object[]{_imgState.src, e.getMessage()});
registerTagError(s, e);
}
}
// set the rollover image
if (_rolloverImage != null) {
try {
String uri = PageFlowTagUtils.rewriteResourceURL(pageContext, _rolloverImage, null, null);
_rolloverImage = response.encodeURL(uri);
}
catch (URISyntaxException e) {
// report the error...
String s = Bundle.getString("Tags_Rollover_Image_URLException",
new Object[]{_rolloverImage, e.getMessage()});
registerTagError(s, e);
}
if (getJavaScriptAttribute(ONMOUSEOUT) == null) {
String s = "swapImage(this,'" + response.encodeURL(_imgState.src) + "')";
_imgState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONMOUSEOUT, s);
}
if (getJavaScriptAttribute(ONMOUSEOVER) == null) {
String s = "swapImage(this,'" + response.encodeURL(_rolloverImage) + "')";
_imgState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONMOUSEOVER, s);
}
}
// render the image tag.
TagRenderingBase br = TagRenderingBase.Factory.getRendering(TagRenderingBase.IMAGE_TAG, req);
br.doStartTag(writer, _imgState);
br.doEndTag(writer);
// write the end tag
trb.doEndTag(writer);
if (!script.isNull())
write(script.getRef().toString());