使用Javascript在JSP中动态分配重定向href

时间:2013-02-05 10:35:54

标签: javascript jsp

这可能是一个愚蠢的问题,但我真的坚持了很久。希望有人可以伸出手来解释根本原因。谢谢。

在我的处理JSP中,我有以下代码来调用Javascript函数。所有值都是通过POST操作从前端JSP获得的:

<a onclick="loadPredecessorPage(${param.predecessorName})" href="javascript:;">
   ${param.predecessorTitle}
</a>

同时,在上面的标题中,我有以下javascript函数:

<script language="javascript">
      function loadPredecessorPage(predecessorName)
      {
           var url = predecessorName +".jsp";
           document.location.href = url;
      }
</script>

我用firebug观察了这些值。它们在价值观上是正确的。实际上,predecessorName变量只是我自己的MVC设计中的模型类的名称。如果程序正在运行,用户应该能够单击链接并访问特定模型类的相应前端视图JSP。

有人可以指出我在上面代码中犯的错误吗?

1 个答案:

答案 0 :(得分:0)

如果您只想打开静态网址,只需通过JSP将完整的网址传递给链接的href

<a href="${param.predecessorName}.jsp">
   ${param.predecessorTitle}
</a>

如果您想在JavaScript函数中打开页面,请继续阅读 您应该使用window.location代替document.location(请参阅here)。如果要在HTML中传递URL,则应在相应的data-属性中执行此操作。此外,建议您在运行时通过JavaScript添加侦听器。

示例HTML:

<a id="loadPage" href="#" data-url="http://stackoverflow.com">Load Page</a>

jQuery代码:

$('#loadPage').on('click',function() {
    var url = $(this).data('url');
    window.location.href = url;
});