无法从JSP和JS调用java中的函数

时间:2012-03-30 09:56:36

标签: java javascript jsp

我正在尝试使用url /OHRSFrontSheet从控制器调用一个函数,该函数看起来像:

@RequestMapping(value = "/generateFrontSheet/{myId}", method = RequestMethod.POST)
public void generateFrontSheet(@RequestParam("myId") Long Id) {
SOP("Creating doc for ID = "+myId);
//Create Document
}

我的java脚本是:

function createFrontSheet(id) {
 alert(id);
 $.post("/OHRSFrontSheet/generateFrontSheet",{Id:id});
}

我的jsp看起来像:

<spring:url var="generateFrontSheetUrl"
    value="/OHRSFrontSheet/generateFrontSheet(${formId})"/>                                         
<a href="javascript:createFrontSheet(${formId});">Download Doc</a>

代码的问题是JS中的alert(id)被调用,但函数generateFrontSheet()没有被调用。我收到404错误。

我是否遗漏了与我传递的参数或映射有关的内容?

2 个答案:

答案 0 :(得分:0)

看行

@RequestMapping(value = "/generateFrontSheet/{myId}", method = RequestMethod.POST)

这里myId是url part。

现在看看 -

  $.post("/OHRSFrontSheet/generateFrontSheet",{Id:id});

这里你必须把id作为url的一部分。

应该看起来像这样

$.post("/OHRSFrontSheet/generateFrontSheet/"+id);

jsp中的相同事情

value="/OHRSFrontSheet/generateFrontSheet/(${formId})"

答案 1 :(得分:0)

得到了答案。虽然愚蠢的错误。我忘了在JavaScript中包含我的项目基础网址。

function createFrontSheet(id) {
 alert(id);
 $.post("/portal/OHRSFrontSheet/generateFrontSheet",{Id:id});
}

/portal是我项目的基本网址。 :)