2011-10-02 8 views
0

의 부분을 삭제 :는 쿼리 문자열

<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&topic=m&output=rss 

나는 그것이 기대 '&'문자의 인코딩과 관련이 있습니다. 누구든지 조언 할 수 있습니까?

는 서버는 수신 :

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

내 페이지를 문자 집합 = 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 함수를 만드는 것입니다.