#
문자가 있고, 내 매개 변수는 #
까지만있는 요청 문자열을 얻으려고합니다. 하지만이 캐릭터를 가지고 있어야하고, 제거 할 수 없다는 점이 다릅니다.자바에서 쿼리 문자열에서 '#'문자로 매개 변수 가져 오기
아이디어가 있으십니까?
#
문자가 있고, 내 매개 변수는 #
까지만있는 요청 문자열을 얻으려고합니다. 하지만이 캐릭터를 가지고 있어야하고, 제거 할 수 없다는 점이 다릅니다.자바에서 쿼리 문자열에서 '#'문자로 매개 변수 가져 오기
아이디어가 있으십니까?
Encode # 있어야합니다. 리터럴 #은 fragment id을 나타내며 다른 용도로는 URI에서 사용할 수 없습니다. w3schools에는 encoding tables이 있으므로 값을 직접 확인할 수도 있습니다.
올바르게 작동합니다. ** URLEncode ** 및 ** URLDecode **. 나는 그것을 생성하는 시스템의 부분이 가능한 한 가장 일반적인 것으로 가정되고 모든 데이터가 URL이 아니기 때문에 그것을 사용하고 싶지 않았다. 그러나 모든 데이터를 인코딩하는 데는 문제가 없습니다. 감사 – banduk
매개 변수 값을 올바르게 인코딩해야합니다. 당신이 바로 자바를 사용하는 경우
<c:url value="/path/to/myServlet">
<c:param name="param1" value="#paramValue"/>
</c:url>
, URLEncoder.encode()
를 사용 : URL이 JSP에 의해 생성 된 경우
의 JSTL c:url
태그를 사용해야합니다.
URL이 정적이면
가%23paramValue
대신
#paramValue
사용은 '#'프래그먼트 식별자이다. 쿼리 문자열에서 매개 변수의 일부인 경우 먼저 쿼리 문자열을 인코딩해야합니다. 프래그먼트를 얻으 려한다면, 사용하는 래퍼가 쿼리 문자열을 가져 오는 것과 비슷한 방식으로 수행 할 수 있다고 확신합니다. –