FileDocCategorySizeDatePackage
Anchor.javaAPI DocExample6609Mon Jul 23 13:26:36 BST 2007org.apache.struts2.components

Anchor

public class Anchor extends AbstractRemoteCallUIBean
A tag that creates a HTML <a href='' /> that when clicked calls a URL remote XMLHttpRequest call via the dojo framework.

THE FOLLOWING IS ONLY VALID WHEN AJAX IS CONFIGURED

  • href
  • errorText
  • listenTopics
  • notifyTopics
  • executeScripts
  • loadingText
  • listenTopics
  • handler
  • formId
  • formFilter
  • targets
  • showErrorTransportText
  • targets
  • indicator
'resultDivId' Deprecated. Use targets.

'targets' is a list of element ids whose content will be updated with the text returned from request.

'errorText' is the text that will be displayed when there is an error making the request.

'onLoadJS' Deprecated. Use 'notifyTopics'.

'preInvokeJS' Deprecated. Use 'notifyTopics'.

'executeScripts' if set to true will execute javascript sections in the returned text.

'loadingText' is the text that will be displayed on the 'targets' elements while making the request.

'handler' is the name of the function that will take care of making the AJAX request. Dojo's widget and dom node are passed as parameters).

'formId' is the id of the html form whose fields will be seralized and passed as parameters in the request.

'formFilter' is the name of a function which will be used to filter the fields that will be seralized. This function takes as a parameter the element and returns true if the element should be included.

'listenTopics' comma separated list of topics names, that will trigger a request 'indicator' element to be shown while the request executing 'showErrorTransportText': whether errors should be displayed (on 'targets')

'showLoadingText' show loading text on targets

'notifyTopics' comma separated list of topics names, that will be published. Three parameters are passed:

  • data: html or json object when type='load' or type='error'
  • type: 'before' before the request is made, 'load' when the request succeeds, or 'error' when it fails
  • request: request javascript object, when type='load' or type='error'

Examples


<s:a id="link1" theme="ajax" href="/DoIt.action" errorText="An error ocurred" loadingText="Loading...">
<img border="none" src="<%=request.getContextPath()%>/images/delete.gif"/>
<s:param name="id" value="1"/>
</s:a>

Results in


<a dojoType="BindAnchor" executeScripts="true" id="link1" href="/DoIt.action?id=1" errorText="An error ocurred"></a>

Here is an example that uses the beforeLoading. This example is in altSyntax=true:


<s:a id="test" theme="ajax" href="/simpeResult.action" beforeLoading="confirm('Are you sure?')">
A
</s:a>

Fields Summary
public static final String
OPEN_TEMPLATE
public static final String
TEMPLATE
public static final String
COMPONENT_NAME
protected String
targets
Constructors Summary
public Anchor(com.opensymphony.xwork2.util.ValueStack stack, HttpServletRequest request, HttpServletResponse response)


           
        super(stack, request, response);
    
Methods Summary
public voidevaluateExtraParams()

        super.evaluateExtraParams();

        if(targets != null)
            addParameter("targets", findString(targets));
    
public java.lang.StringgetDefaultOpenTemplate()

        return OPEN_TEMPLATE;
    
protected java.lang.StringgetDefaultTemplate()

        return TEMPLATE;
    
public voidsetAfterLoading(java.lang.String afterLoading)

        this.afterLoading = afterLoading;
    
public voidsetBeforeLoading(java.lang.String beforeLoading)

        this.beforeLoading = beforeLoading;
    
public voidsetTargets(java.lang.String targets)

        this.targets = targets;