2013-05-27 3 views
2

나는 현재 페이지로 리디렉션 자바에서 현재 URL로 리디렉션하는 방법은 무엇입니까?

<%=request.getRequestURL()%> 

를 사용하고 있지만,이 같은 일부 매개 변수와 주소 문제가 있습니다

http://xxx.com/yyy/x/search?mesg=welcome&initial=true&app= 

을하고 문제가 발생 매개 변수없이 주소로 리디렉션합니다.

전체 주소를 얻는 방법은 있습니까?

+0

<c:set var="parameter" value="<%=request.getQueryString()%>"/> <c:if test="${not empty parameter}"> <c:set var="parameter" value="?${parameter}"/> </c:if> 

감사 everbody을. –

+0

서버 쪽 기술은 무엇입니까 – PSR

+0

페이지를 새로 고쳤습니까? 왜냐하면, 왜 당신이 이미 원하는 곳에 다른 누군가가 가고 싶다면? –

답변

2

다음 두 가지 방법을 사용하여 URL을 리디렉션 할 수 있습니다.

핵심 JSP 태그 라이브러리 사용은.,

<c:redirect url="your url"> 
    <c:param name="mesg" value ="${mesg}" /> 
    <c:param name="initial" value ="${initial}" /> 
    <c:param name="app" value="${app}" /> 
<c:redirect> 

사용 스크립틀릿

<% 
    String queryString = request.getQueryString(); 
    if(queryString != null) { 
    response.sendRedirect("http://xxx.com/yyy/x/search?" + queryString); 
    } 
    else { 
    response.sendRedirect("http://xxx.com/yyy/x/search"); 
    } 
%> 

getQueryString() (나는이 일을 선호) 요청의 쿼리 문자열을 반환하지만 더 요청 매개 변수가없는 경우 제공된/availible 다음 null 처리해야하므로 해당 null 처리해야합니다.

2

HttpServletRequest.getRequestURL() 상태에 대한 설명서에는 쿼리 문자열이 포함되어 있지 않습니다. 난이 "직접"을 포함하지 않는 HttpServletRequest에 대한 방법을 볼 수 없으므로 너무 어려워서는 안되는 자신을 직접 만들어야 할 수도 있습니다. getParameterMap() 메서드를 사용하여 모든 쿼리 매개 변수의 맵을 가져올 수 있습니다.

HttpServletRequest.getQueryString()

편집 내가 찾던 방법이었다. 감사합니다 @ AlpeshGediya. 따라서 getRequestURL과 결합하면 원하는 것을 얻을 수 있습니다.

+0

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getQueryString() –

+1

찾고 있었지만 찾을 수 없습니다. 이른 아침 ... 고마워요 @ AlpeshGediya – NilsH

1

난 그냥 이전의 답변을 수정이 쓴 : 당신은 당신이 필요한 사람의 모든 매개 변수를 전달할 수 있습니다

관련 문제