2009-05-05 10 views
1

J'essaie de modifier le code JavaScript écrit de quelqu'un pour transmettre une variable d'URL (appelée fabricant) dans une classe Java. La chose intéressante est le fichier est un fichier HTML avec JavaScript. Parce que je suis nouveau JSP, je ne suis même pas sûr que cela peut être fait, mais voici le code HTML/JavaScript:Comment puis-je transmettre une variable à une classe JSP en utilisant l'URL?

<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> 

Je suis en train de passer un lien url

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

et de transmettre la valeur dans la page où il est, espérons-le, récupéré par la classe.
I ajouté le segment

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); 

}

... dans la fonction Table(). Je suis plus familier avec PHP, et ces fichiers ont généralement une extension PHP mais dans ce cas, le fichier original utilise HTML pour passer une variable dans une classe Java QWMASMatch avec juste la clause else. Des idées sur ce que je pourrais faire de mal?

Le script semble être encore résoudre à la clause else lorsque je tente de taper juste à

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

merci à l'avance

Répondre

0

cette valeur doit avoir une barre oblique? \ QWMASMatch

Il ressemble un peu le code côté serveur se mélange avec la JS ici:

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

Peut-être que vous aviez l'intention:

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

... en utilisant <% %> pour indiquer à JSP d'exécuter le code contenu sur le serveur.

+0

apache tomcat sait-il automatiquement exécuter le code java entre les délimiteurs du fichier html? – phill

+0

la barre oblique "\" est correcte. ça marche avec ça là-dedans. En tant que débutant, je ne comprends pas encore pourquoi. Je pense que cela a à voir avec le mappage de servlet – phill

+0

Non, vous devriez en faire un JSP. Ensuite, Tomcat traitera le code Java entre les tags <% %> du côté serveur. – steamer25

Questions connexes