使用'a href'构建动态URL

3

我正在使用spring-3.2版本。

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

请求映射用于将URL映射到一个方法上,因此在这种情况下,每当使用URL时,都会调用该方法。
<a href="company=1/branch=1/employee=1/info" > employee info </a>

在控制器中,使用精确的@RequestMapping注释调用该方法。现在我想动态创建"a href"标签,并动态创建companyId、branchId或employeeId。


你想用jQuery来完成这件事吗? - adeneo
我不知道该怎么做才能实现它,请给我建议。 - abhishek ameta
3个回答

12

当然,你可以动态地构建指向相应URL的字符串。

第一种选择是使用javascript函数。但是,即使这个函数也必须从某处获取ID。在我的示例中,我假设已经有了包含正确ID的javascript变量。

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;
}

那么你的 HTML 就会像这样:

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

另一个更优雅的解决方案是使用 onClick 事件:

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

使用该函数

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

希望我有所帮助!


我的 "javascript:createDynamicURL();" 没有被调用。 - abhishek ameta
我还没有检查过。我认为JavaScript函数没有从HTML标签内部调用。 - abhishek ameta
你可以在Chrome或Mozilla上使用F12按钮,并通过断点调试JavaScript。在那里,你会看到是否有任何错误发生... - Pantelis Natsiavas
这基本上是正确的。我只是编辑了一下,在顶部答案中添加了window.location=。没有它就不起作用。否则这是一个很好的建议。谢谢。 - miss.serena
是否也可以从URL中删除单词?当我尝试这样做时,我的URL中出现了“未定义”的情况。请查看我的问题:https://stackoverflow.com/q/62367518/13290801 - MeL

0
我们可以使用以下示例:
<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>

0

现在是2022年。使用URLSearchParamsURL来构建URL。

文档中包含了你所需的一切。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接