Building dynamic URL using 'a href'

59.9k views Asked by At

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.

3

There are 3 answers

5
Pantelis Natsiavas On BEST ANSWER

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!

0
atilkan On

It is 2022. Use URLSearchParams or URL to build url.

Docs have everything you need.

0
Walk On

We can use following example:

<a id="addBtn" href="#" onclick="get_dynamic_url();">Google</a></p>

<script>
function get_dynamic_url() {
    url = "Your dynamic url value";
    $("#addBtn").attr("href", url);
    return true;
}
</script>