2011-02-05 118 views
0
')' expected 
out.println("Welcome "+myname+", <a href="logout.jsp\" >Logout</a>"); 
             ^

illegal character: \92 
out.println("Welcome "+myname+", <a href="logout.jsp\" >Logout</a>"); 
                ^

我所有的jsp文件都在一個文件夾中,不知道爲什麼這是一個問題?JSP代碼錯誤 - 不能爲什麼

+0

因爲沒有開始報價\「這裏的一些鏈接\」「\」通常被用來逃避報價... – 2011-02-05 10:38:35

回答

2

有關logout.jsp的引號需要轉義。更改爲:

out.println("Welcome "+myname+", <a href=\"logout.jsp\" >Logout</a>"); 
0

這就是爲什麼你不包括JSP代碼,因爲它太容易做出愚蠢的錯誤,你已經發現。事實上,JSP被轉換爲* .java,並且大量的print語句與「java代碼片段」混雜在一起,這使得皇家混亂。

+0

你怎麼建議然後我分開代碼?對不起,我是這個新手。 – tom 2011-02-05 14:41:32

1

的問題是,你想

<a href="something"> 

在你生成的HTML顯示出來,但你擁有了它一個Java語句(通過out.println)內的而不是像

..%><a href="something"><%... 

那麼問題是,

out.println("<a href="something">"); 

是無效的Java,因爲報價意味着什麼Java編譯器。

您可以在HTML中使用單引號,也可以告訴Javac引用不代表任何內容。我會推薦前者,因爲代碼更易於閱讀:

out.println("<a href='something'>");