2016-10-26 3 views
0

Я хочу построить одну веб-приложения Java, в этом у меня есть одна страница JSP когда страница загружается он дает следующее сообщение об ошибке:СинтаксисError: missing; перед постановкой

SyntaxError: missing ; before statement 
код

Моя страница JSP ниже:

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

Когда я его отладки на хроме он выдает ошибку на follwoing линии

var orgJson = '${reqOrgJson}'; 

Я ПОЛУЧАТЬ ниже JSONArray

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

в orgJson переменной, и это дает ошибку из-за ' Apostrophe Но я не знаю, как справиться с этим? Пожалуйста, помогите мне исправить эту проблему. Я использую Java с Eclipse.

+0

В какой строке находится SyntaxError? Вы можете найти его в консоли браузера. –

+0

Когда появилась эта ошибка? На какой вызов функции? PS: Здесь нет JAVA, это только функция Javascript и некоторый EL langage. – AxelH

+0

@Dodorido дает следующую ошибку в консоли браузера Firefox: «SyntaxError: missing, before statement [Подробнее] main: 15: 216« – user3441151

ответ

0

Проблема возникает из-за ваших значений.

var orgJson = '${reqOrgJson}'; 

становится

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

Поскольку существует в значениях а ', струнный остановить там, Javascript не понимаю, следующий текст.

Здесь вы можете удалить апостроф, чтобы создать массив непосредственно:

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

просто написав:

var orgJson = ${reqOrgJson}; 

Нет необходимости разбирать позже, вы непосредственно иметь массив в orgJson.

+0

Я заменяю свой 'из/в моем Java-коде. но когда я снова заменю на странице JSP, используя orgJson = orgJson.replace ("/", "'"); но они не сработали. – user3441151

+0

@ user3441151 Извините, я не был чист, не нужно менять значение, я добавил одну строку (думал, что я уже ее написал). Вам просто нужно удалить апостроф, окружающий ваш EL '$ {reqOrgJson}', чтобы поместить массив так, как он есть в String. Апостроф больше не будет проблемой – AxelH

Смежные вопросы