2011-10-02 54 views
0

的一部分,如果我有這樣的一個JSP的一種形式:從到servlet頁面的表單傳遞一個URL下降查詢字符串

<form action = "/myApp/myServlet?rssFeedURL=${rssFeedURL}' />" method = "post"> 
    <input type = "button" value = "See data for this RSS feed."/> 
</form> 

我發現是,如果變量$ {rssFeedURL}沒有查詢字符串,然後服務器接收得當,如:

http://feeds.bbci.co.uk/news/rss.xml 

但是,如果一個查詢字符串存在,如:

​​

我期望它是與'&'字符的編碼有關。任何人都可以建議嗎?

服務器只接收:

http://news.google.com/news?ned=us 

我的網頁的charset = UTF-8編碼。

回答

2

您需要URL編碼請求參數。否則,它們將被解釋爲初始請求URL的一部分。

JSTL爲您提供<c:url>

<c:url var="formActionURL" value="/myApp/myServlet"> 
    <c:param name="rssFeedURL" value="${rssFeedURL}" /> 
</c:url> 

<form action= "${formActionURL}" method="post"> 
    ... 

另一種方法是創建一個代表URLEncoder#encode()的EL功能。

相關問題