Building dynamic URL using 'a href'

abhishek ameta picture abhishek ameta · Dec 30, 2013 · Viewed 43.8k times · Source

I am using spring-3.2 version.

@RequestMapping("/company={companyId}/branch={branchId}/employee={employeeId}/info")

The requestmapping is used to map a URL, so in this case when ever a URL is called using

<a href="company=1/branch=1/employee=1/info" > employee info </a>

the method is called in the controller with the exact @RequestMapping annotation, now I want to create the "a href" tag dynamically and want to create companyId,branchId,or employeeId dynamically.

Answer

Pantelis Natsiavas picture Pantelis Natsiavas · Dec 30, 2013

You could of course build the string pointing to the respective URL dynamically.

A first option would be using a javascript function. However, even this function has to take the IDs from somewhere. In my example, I suppose that there are javascript variables which already contain the right IDs.

function createDynamicURL()
{
    //The variable to be returned
    var URL;

    //The variables containing the respective IDs
    var companyID=...
    var branchID=...
    var employeeID=...

    //Forming the variable to return    
    URL+="company=";
    URL+=companyID;
    URL+="/branch=";
    URL+=branchID;
    URL+="/employee=";
    URL+=employeeID;
    URL+="/info";

    return URL;
}

Then your html would be like:

<a href="javascript:window.location=createDynamicURL();" > employee info </a>

Another, more elegant solution would be to use the onClick event:

<a href="#" onclick="RedirectURL();return false;" > employee info </a>

with the function

function RedirectURL()
{
    window.location= createDynamicURL();
}

Hope I helped!