2016-04-17 11 views
0

私は次のHTMLスニペットをいくつかのページに含めています。卒業のリンクを除いて、これらのページのすべてにおいてJSPでURLが正しくエンコードされていない

<td><a href="<c:url value="guestBook" /> "><img src="images/guestbook.jpg" alt="Guest Book" /></a></td> 
<td><a href="<c:url value="polls" />"><img src="images/polls.jpg" alt="Polls" /></a></td> 
<td><a href="<c:url value="graduation" />"><img src="images/graduation.jpg" alt="Graduation" /></a></td> 
<td><a href="<c:url value="home" />"><img src="images/home.jpg" alt="Home" /></a></td> 

、これは以下のように翻訳さ:卒業のページで

<td><a href="guestBook "><img src="images/guestbook.jpg" alt="Guest Book" /></a></td> 
<td><a href="polls"><img src="images/polls.jpg" alt="Polls" /></a></td> 
<td><a href="graduation"><img src="images/graduation.jpg" alt="Graduation" /></a></td> 
<td><a href="home"><img src="images/home.jpg" alt="Home" /></a></td> 

、リンクを私は、元のソースコードとしてレンダリングされます。 e。 <a href="c:url value="...>誰も助けてもらえますか?

答えて

0

私は私のコードで<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>を含めるのを忘れていました。私がそれを入れると、すべてがうまくいった。

0

あなたの問題は、二重引用符を二重引用符で囲んでいることです。二重引用符は二重引用符で囲まれています。

代わりに一重引用符を使用するか、二重引用符をバックスラッシュでエスケープします。

例1は一重引用符で囲みます。

<td><a href='<c:url value="polls" />'><img src="images/polls.jpg" alt="Polls" /></a></td> 

例2はエスケープされた引用符です。

<td><a href="<c:url value=\"polls\" />"><img src="images/polls.jpg" alt="Polls" /></a></td> 
+0

二重引用符をエスケープすると、すべてのページでHTTP 500エラーが発生し、一重引用符を使用するだけで前と同じエラーが表示されます。 –

+0

一重引用符を使用しているときは、すべての 'a'要素の一重引用符を置き換えていますか? – Wowsk

+0

私は現在あなたが持っているものを使っています。 1.ブラウザでレンダリングされたHTMLは ​​Pollsとなります。 私は卒業のページに行くときにのみ発生します。他のページでは、次のようにレンダリングされます。 ​​ –

関連する問題