2013-07-16 21 views
1
 <a href=" 
    javascript:openWin 
          ('printlist.jsp?CTextSearch=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtSearch"),"UTF-8")%> & CTextNumbr=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtNum"),"UTF-8") %> & CYear=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbYear"),"UTF-8") %> & CSectionNo=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbSection"),"UTF-8") %>&CDatefrom=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateFrom"),"UTF-8") %>&CDateto=<%= URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateTo"),"UTF-8") %>' 


          )" id="ctl00_PagingHolder_btnPrint" class="gena" onclick=""> 




          Print List</a> 

去除20%這是我的查詢字符串我發送的值來打印的List.jsp 但每個價值正在逐漸如何從查詢字符串URL在JSP

localhost:8080/Cbdt-cir-not/printlist.jsp?CTextSearch=%20&%20CTextNumbr=14%20&%20CYear=%20&%20CSectionNo=&CDatefrom=&CDateto= %20 

所以我沒有得到價值 from request.get parmeter請告訴我 做錯了我已經嘗試了很多,但無法做到。

+0

郵報[SSCCE(http://sscce.org) – user12458

+0

您通常似乎有格式問題。 – Ingo

+0

請檢查我的編碼值傳遞給Printlist.jsp,但由於%20始終未獲取值獲取null – user2372154

回答

2

使用此:中

('printlist.jsp?CTextSearch=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtSearch"),"UTF-8")%>&CTextNumbr=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtNum"),"UTF-8") %>&CYear=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbYear"),"UTF-8") %>&CSectionNo=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbSection"),"UTF-8") %>&CDatefrom=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateFrom"),"UTF-8") %>&CDateto=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateTo"),"UTF-8") %>' 

代替

('printlist.jsp?CTextSearch=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtSearch"),"UTF-8")%> & CTextNumbr=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtNum"),"UTF-8") %> & CYear=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbYear"),"UTF-8") %> & CSectionNo=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$cmbSection"),"UTF-8") %>&CDatefrom=<%=URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateFrom"),"UTF-8") %>&CDateto=<%= URLEncoder.encode(request.getParameter("ctl00$SearchCriteriaHolder$txtDateTo"),"UTF-8") %>' 

有跡象表明,被解釋爲congrete鍵/值的一部分的鍵值對之間空格的CUPLE。所以你的密鑰不是「CYear」,你的密鑰是「CYear」,通過刪除那些屬於鍵或值的空白來解決問題。

+1

從什麼時候回答搜索和查找遊戲?請用文字描述具體的問題和解決方案。 – BalusC

+0

+1 BalusC,stackoverflow不是「我爲你做」 - 網站。 –

1

您可以嘗試URLDecoder

String test = "ocalhost:8080/Cbdt-cir-not/printlist.jsp? 
        CTextSearch=%20&%20CTextNumbr= 
        14%20&%20CYear=%20&%20CSectionNo=& 
        CDatefrom=&CDateto= %20"; 


System.out.println(URLDecoder.decode(test, "utf-8")); 
+0

這是一種解決方法,而不是解決方案。一個問題需要從根本上解決。見彼得的回答。 – BalusC

+1

感謝您的評論和downvote – Makky

+0

請注意,我總是,如果答案是正確的反饋修復,它總是刪除downvote(它也會自動刪除,如果它被刪除,對於這種情況)。 – BalusC

1

使用URLEncoder的使用UTF-8字符集編碼和解碼的URL, 使用是encodeURI和decodeURI在JavaScript中,當你構建Java腳本的URL。

1

我只想添加到@Peter Rader答案,你有所有這些%20的原因是因爲URL的規範(RFC 1738,Dec''94)帶來了問題,因爲它限制了允許的使用只有US-ASCII字符集的有限子集中的字符:

「...只有字母數字[0-9a-zA-Z],特殊字符」$ -_。+!*'() ,「

[不包括引號],以及用於其保留目的的保留字符可以在URL內未經編碼使用。」

另一方面,HTML允許在文檔中使用ISO-8859-1(ISO-Latin)字符集的整個範圍 - 並且HTML4擴展了允許範圍,以將所有Unicode字符集包括爲好。對於非ISO-8859-1字符(Unicode集合中FF十六進制/ 255小數以上的字符),它們只能在URL中使用,因爲沒有安全的方法可以指定URL內容中的字符集信息但[RFC2396]

這就是爲什麼當你試圖把空的空間,以「%20」,這是charecters的只是一種表象它翻譯它

+1

+1 fyi,很高興知道。 –

相關問題