2016-10-26 3 views
0

Je veux construire une application Java Web, Dans ce que j'ai une page JSP lorsque cette page est chargée, il donne l'erreur suivante:SyntaxError: missing; avant la déclaration

SyntaxError: missing ; before statement 

Mon JSP page de code est ci-dessous:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Organization</title> 
<link rel="stylesheet" href="css/jquery-ui.css"> 
<script src="js/jquery-1.12.4.js"></script> 
<script src="js/jquery-ui.js"></script> 
<script> 
    $(function() { 
     alert("Inside1"); 
     var reqStatus = '${orgStatus}'; 
     alert("Inside2"); 
     var orgJson = '${reqOrgJson}'; 
     alert("Inside3"); 
     alert("reqStatus>>>"+reqStatus); 
     alert("orgJson>>>>"+orgJson); 

     if(reqStatus != "" || orgJson != "") { 
      //alert("1>>>>>>>>>"); 
      if(reqStatus == "false") { 
       document.getElementById("lblError").style.display = ''; 
      } 
      else { 
       document.getElementById("lblError").style.display = 'none'; 
      } 

      var availableTutorials = []; 
      if(orgJson != "") { 
       var parsed = JSON.parse(orgJson); 
       for(var x in orgJson) { 
        if(parsed[x] != undefined) { 
         availableTutorials.push(parsed[x]); 
        } 
       } 
      } 

      $("#txtOrgName").autocomplete({source: availableTutorials}); 
     } 
     else { 
      //alert("2>>>>>>>>>"); 
      window.location.href = "index.jsp"; 
     } 
    }); 

    function validateOrg() { 
     var orgName = document.getElementById("txtOrgName"); 
     if (orgName.value.trim().length == 0) { 
      alert("Enter Org Name"); 
      return false; 
     } 
    } 
</script> 
</head> 
<body> 
    <form name="orgname" action="org_name" method="post"> 
     <table align="center"> 
      <tr align="center"> 
       <td colspan="4"><img src="images/logo.jpg" /></td> 
      </tr> 
      <tr> 
       <td>Organization :</td> 
       <td><input type="text" id="txtOrgName" name="txtOrgName" /><label style="color: red;">*</label></td> 
      </tr> 
      <tr> 
       <td align="center" colspan=2><br/><input type="submit" name="btnOrgName" id="btnOrgName" 
        value="Validate" onclick="return validateOrg();" /></td> 
      </tr> 
     </table> 
     <p align="center"><label id="lblError" style="color: red;">Error Message.</label></p> 
    </form> 
</body> 
</html> 

Quand je déboguer le chrome lui donne l'erreur sur la ligne follwoing

var orgJson = '${reqOrgJson}'; 

Je RECEVOIR le JSONArray ci-dessous

["XYZ","ASD.'s Group","SDF' Memorial Hospital","Fenchâçè Fâçè, Mr. - PCVC"] 

dans la variable orgJson et cela donne l'erreur en raison de ' Apostrophe Mais je ne sais pas comment gérer cela? S'il vous plaît aidez-moi à résoudre ce problème. J'utilise Java avec Eclipse.

+0

Dans quelle ligne est l'erreur SyntaxError? Vous devriez pouvoir le trouver dans la console du navigateur. –

+0

Quand est-ce que cette erreur est apparue? Sur quelle fonction appel? PS: Il n'y a pas de JAVA ici, ce n'est que de la fonction Javascript et du langage EL. – AxelH

+0

@Dodorido il donne l'erreur suivante sur la console du navigateur firefox "SyntaxError: missing; before statement [En savoir plus] main: 15: 216" – user3441151

Répondre

0

Le problème provient de vos valeurs.

var orgJson = '${reqOrgJson}'; 

Il devient

var orgJson = '["XYZ","ASD.'s Group","SDF' Memorial Hospital","Fenchâçè Fâçè, Mr. - PCVC"]'; 

Comme il y a un ' dans les valeurs, la chaîne arrête là, le javascript ne comprennent pas le texte suivant.

Ici, vous pouvez supprimer l'apostrophe pour créer le tableau directement:

var orgJson = ["XYZ","ASD.'s Group","SDF' Memorial Hospital","Fenchâçè Fâçè, Mr. - PCVC"]; 

Simplement en écrivant:

var orgJson = ${reqOrgJson}; 

Pas besoin d'analyser plus tard, vous avez directement un tableau dans orgJson.

+0

Je remplace mon 'de/dans mon code Java. mais quand je remplace à nouveau dans ma page JSP en utilisant orgJson = orgJson.replace ("/", "'"); mais ils ne travaillaient pas. – user3441151

+0

@ user3441151 Désolé, je n'étais pas clair, je n'ai pas besoin de changer la valeur, j'ai ajouté une ligne (je pensais déjà l'écrire). Vous avez juste besoin de supprimer l'apostrophe entourant votre EL '$ {reqOrgJson}' pour placer le tableau tel qu'il est dans la chaîne. L'apostrophe ne sera plus un problème – AxelH