在JavaScript函数中使用JavaScript变量调用Java函数

时间:2011-09-06 03:32:11

标签: javascript

我需要帮助。我需要在Java类中调用Java函数“getLocCountByWhId()”;这个Java函数是在for循环中的JavaScript中调用的。我需要将一个JavaScript变量作为参数传入此Java函数“getLocCountByWhId()”。我已经挣扎了一个星期并阅读了许多网站以获得一些指导,但我无法解决问题。预先感谢您的帮助。代码如下:

<script language="JavaScript">
<!--
function onCreatePO()
{
    <%long jspAllocId = alloc.getId();%>;
    var recItemId = ""; // Local variable for item id.
    var recWhId = ""; // Local variable for warehouse id.                           

    for (var i=0, j=document.what_if_summary.elements.length; i<j; i++)
    {      
       var recStr = document.what_if_summary.elements[i].value; 
       var splitStr = new Array(); 
       splitStr = recStr.split('^');
       recItemId = splitStr[1]; // Get the field value for Item_ID.
       recWhId = splitStr[2]; // Get the field value for Warehouse_ID.

// Get a database connection with global 'conn' object and retrieve store count.
       <%AfsGetVDSCountByWarehouseBean.setConnection(conn);%>; 

// The below assignment from JavaScript variable to JSP variable do not work 
// because of a second JavaScript tag. How can I get around this ?

//<% String jspItemId = "<script>document.writeln(recItemId)</script>"; %>
//<% String jspWhId = "<script>document.writeln(recWhId)</script>"; %>

   currentStoreCount = <%= AfsGetVDSCountByWarehouseBean.getLocCountByWhId(jspAllocId, jspItemId, jspWhId)%>;
   }
}

//-->
</script>

// I get this example of assigning Javascript to JSP variable but I got double tag problem.
<script>
var v="Roseindia";
</script>
<% String st="<script>document.writeln(v)</script>";
out.println("value="+st); %>

1 个答案:

答案 0 :(得分:2)

您尝试做的事情是不可能的,(抱歉!)反映了对JSP(或ASP,PHP等)等服务器端代码如何工作的基本误解。

JSP页面基本上是在Web服务器上运行的Java servlet ,它动态生成网页并将其返回给浏览器。生成的网页可能包含HTML,CSS,JavaScript等,但对于Java代码,所有这些只是文本。 Java / JSP代码无法理解JavaScript或与JavaScript交互,因为JavaScript不能在Web服务器上运行,只需要将更多文本作为响应的一部分发送回浏览器。

当浏览器获得响应时,它将显示网页并执行任何JavaScript。

进一步阅读(我不会过分相信您在RoseIndia网站上阅读的内容):

http://www.ibm.com/developerworks/java/tutorials/j-introjsp/

http://www.oracle.com/technetwork/articles/javase/servlets-jsp-140445.html

http://java.sun.com/developer/onlineTraining/JSPIntro/