2014-07-13 3 views
0

Java EE 환경을 처음 사용합니다. 내가 서블릿에서 요청 URL로부터 명명 된 매개 변수를 추출 할 수 있는지 궁금했다.URL에서 명명 된 매개 변수를 추출하는 방법은 무엇입니까?

예를 들어 URL 패턴이 products/show/:id입니다. 요청한 URL에서 id의 값을 추출하려면 어떻게해야합니까?

Google에 대한 연구를 거친 후 @PathParam 특수 효과에 대해 알게되었습니다. 그러나 RESTful 웹 응용 프로그램에서만 작동합니다. 간단한 서블릿에 대해서는 일반적인 것을 필요로하거나 생략 할 필요가 있습니다.

+1

기본 서블릿을 사용하는 경우에는 ['HttpServletRequest # getRequestURI()'] (http://docs.oracle.com/javaee/5/api/javax/servlet) 결과를 구문 분석해야 할 필요가 있다고 생각합니다. /http/HttpServletRequest.html#getRequestURI%28%29). –

답변

0

당신은 뭔가를 시도 할 수 :

문자열 pathWithValue = request.getPathInfo(); 문자열 값 = pathWithValue.subString (pathWithValue.indexOf ("제품/쇼 /". 길이())

대해 getPathInfo가 자동으로 URL입니다 디코딩 너무 쿼리 문자열을 포함하지 않습니다! 대해 getPathInfo 값은 서블릿에 의존한다는 것을 고려 web.xml에 매핑 구성 : FE/*

0

당신은 당신의 코드에서이 퍼팅 시도를 처리하기 위해 HttpServletRequest의 객체가있는 경우 : 가능한 모든 형태 또는 객체를 통해 이동합니다

Enumeration<String> e = request.getParameterNames(); 
while (e.hasMoreElements()) { 
    String param = e.nextElement(); 
    System.out.println(param + ": " + request.getParameter(param)); 
} 

을 당신 request.getParameter (id)를 사용하여 값을 얻을 수 있습니다. (어떤 버튼이 클릭되었는지, 필드가 활성 상태인지 등에 따라 변경됩니다).

관련 문제