2016-05-09 84 views
-2

加載jsp頁面時,我已成功調用Web服務。我面臨的問題是設置一個用戶能夠按下按鈕來調用同一Web服務上的不同方法。函數「getSS()」應該完成這個,但我想JavaScript不會直接讀取這種類型的調用。我找到了調用Web服務並向其傳遞參數的解決方案,但這些解決方案通常不會調用Web服務中的特定方法。使用Javascript或jQuery調用特定的Web服務方法

這裏是我的代碼,我可以在「getSS()」函數中做什麼來完成此操作?我已經加載了jQuery,並且web服務是用java編寫的。請注意,我已經編寫了完成所有工作的代碼,我只需要知道如何調用該特定的代碼。其他解決方案似乎都不符合我的需求。

<%-- 
Document : index 
Created on : May 6, 2016, 9:39:44 AM 
Author  : mmarino 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
    <script type="text/javascript"> 



     function getSS(){ 
    var e = document.getElementById("names"); 
    var daString = e.options[e.selectedIndex].value; 
    try { 
org.me.calculator.CalculatorWS_Service service = new org.me.calculator.CalculatorWS_Service(); 
org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); 
// TODO process result here 
java.lang.String result = port.SS(daString); 
document.getElementById('inputhere').innerHTML = "hi"; 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
    document.getElementById('inputhere').innerHTML = ex; 
} 
    } 
     </script> 
</head> 
<body> 
    <h1>Hello World!</h1> <%-- start web service invocation --%><hr/> 
    <button value="hi" onclick="getSS()"> Click</button> 
    <select id="names"> 
<% 
try { 
org.me.calculator.CalculatorWS_Service service = new org.me.calculator.CalculatorWS_Service(); 
org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); 
// TODO process result here 

java.lang.String result = port.getNames(); 
out.println(result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%> 
    </select> 
<hr/> 
<div id="inputhere">Hi.</div> 
</body> 

回答

0

因此它似乎一切我缺少的是設置,Java代碼來一個變量,並把正確的開閉聲明:

function doIt(){ 
<%-- start web service invocation --%> 
      var x = <% 
try { 
org.me.testbilling.TestBillingWS_Service service = new  org.me.testbilling.TestBillingWS_Service(); 
org.me.testbilling.TestBillingWS port = service.getTestBillingWSPort(); 
// TODO initialize WS operation arguments here 
java.lang.String name = "Marcel" ; 
// TODO process result here 
java.lang.String result = port.getSS(name); 
out.println(result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%> 

    alert(x); 
     } 
    </script> 

還是不太清楚如何使「java.lang.String name =」被設置爲一個javascript變量。