2009-05-05 75 views
1

我试图修改某人编写的JavaScript代码,将URL变量(称为制造商)传递给Java类。有趣的是该文件是一个带有JavaScript的HTML文件。因为我是新来的JSP,我甚至不知道这是否可以做到的,但这里是HTML/JavaScript代码:如何使用URL将变量传递给JSP类?

<html> 
<head> 
<script type="text/javascript"> 
var url = "\QWMASMatch"; // The server-side script 

function Table(){ 
var currentTime=new Date(); 
var ele = document.getElementById('Table'); 
function handleHttpResponse() 
    { 
    if (http.readyState == 4) { 
     ele.innerHTML = http.responseText; 
    } 
    } 
var http = getHTTPObject(); // We create the HTTP Object 
var tempUrl = url; 
String manufacturer = request.getParameter("manufacturer"); 
if (manufacturer != null && !manufacturer.equals("")) 
{ 
http.open("GET", tempUrl+"?"+"manufacturer="+manufacturer, true); 
http.onreadystatechange = handleHttpResponse; 
http.send(null); 
} else { 
http.open("GET", tempUrl+"?"+"Time="+currentTime, true); 
http.onreadystatechange = handleHttpResponse; 
http.send(null); 
} 
} 

function getHTTPObject(){ 
var xmlhttp; 
/*@cc_on 
@if (@_jscript_version >= 5) 
    try { 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch (e){ 
    try { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch (E) { 
     xmlhttp = false; 
     } 
    } 
    @else 
    xmlhttp = false; 
    @end @*/ 
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
    try { 
     xmlhttp = new XMLHttpRequest(); 
    } catch (e) { 
     xmlhttp = false; 
    } 
    } 
    return xmlhttp; 
} 

</script> 
</head> 
<body> 
<img src='enet.jpg'> 
<div class='title'> 
QuoteWerks-2-MAS</div> 
<div id="Table">Loading . . . </div> 
<script type="text/javascript"> 
Table()</script> 
</body> 
</html> 

我想传递一个URL链接

http://localhost/QWMASMatch.html?manufacturer=ADOBE

并将该值传回到希望被该类拾取的页面中。
我加了段

String manufacturer = request.getParameter("manufacturer"); 
if (manufacturer != null && !manufacturer.equals("")) 
{ 
http.open("GET", tempUrl+"?"+"manufacturer="+manufacturer, true); 
http.onreadystatechange = handleHttpResponse; 
http.send(null); 
} else { 
http.open("GET", tempUrl+"?"+"Time="+currentTime, true); 
http.onreadystatechange = handleHttpResponse; 
http.send(null); 

}

...在Table()功能。我对PHP更加熟悉,并且这些文件通常有一个PHP扩展,但在这种情况下,原始文件正在使用HTML将变量传递到仅带有else子句的Java类QWMASMatch类中。任何想法我可能做错了什么?

脚本似乎依然是解决以else子句,当我试图只需键入

http://localhost/QWMASMatch.html?manufacturer=ADOBE

在此先感谢

回答

0

如果这个值有正斜杠? \ QWMASMatch

它看起来有点像服务器端代码是越来越与JS这里混合:

String manufacturer = request.getParameter("manufacturer"); 

也许你打算:

var manufacturer = '<% out.println(request.getParameter("manufacturer")); %>'; 

...使用<% %>告诉JSP执行服务器上包含的代码。

+0

确实apache tomcat自动知道在html文件中的分隔符之间执行java代码吗? – phill 2009-05-06 04:28:35