Programming

JSP로 URL에서 매개 변수를 얻는 방법

procodes 2020. 5. 17. 19:48
반응형

JSP로 URL에서 매개 변수를 얻는 방법


JSP에서 URL에서 매개 변수를 어떻게 얻습니까?

예를 들어 www.somesite.com/Transaction_List.jsp?accountID=5
5를 얻으려는 URL

이 있습니다. 세션이나 이와 유사한 것과 같은 request.getAttribute ( "accountID")가 있습니까?


GET 요청에서 요청 매개 변수는 쿼리 문자열 (URL의 물음표 다음 데이터)에서 가져옵니다. 예를 들어, URL http://hostname.com?p1=v1&p2=v2 에는 두 개의 요청 매개 변수 (p1 및 p2)가 있습니다. POST 요청에서 요청 매개 변수는 요청 본문에서 인코딩 된 게시 된 데이터와 쿼리 문자열 모두에서 가져옵니다.

이 예제는 생성 된 출력에 요청 매개 변수의 값을 포함시키는 방법을 보여줍니다.

Hello <b><%= request.getParameter("name") %></b>!

URL로 페이지에 액세스 한 경우 :

http://hostname.com/mywebapp/mypage.jsp?name=John+Smith

결과 출력은 다음과 같습니다.

Hello <b>John Smith</b>!

쿼리 문자열에 name을 지정하지 않으면 출력은 다음과 같습니다.

Hello <b>null</b>!

이 예제는 스크립틀릿에서 쿼리 매개 변수의 값을 사용합니다.

<%
    if (request.getParameter("name") == null) {
        out.println("Please enter your name.");
    } else {
        out.println("Hello <b>"+request. getParameter("name")+"</b>!");
    }
%>

[정보 암시 적 객체통합 표현 언어자바 EE 5 자습서는 글을 참고하세요 :

암시 적 객체

JSP 표현식 언어는 일련의 암시 적 객체를 정의합니다.

  • pageContext: JSP 페이지의 컨텍스트 다음을 포함한 다양한 객체에 대한 액세스를 제공합니다.
    • servletContext: JSP 페이지의 서블릿 및 동일한 애플리케이션에 포함 된 웹 컴포넌트의 컨텍스트입니다. 웹 컨텍스트 액세스를 참조하십시오.
    • session: 클라이언트의 세션 객체. 클라이언트 상태 유지를 참조하십시오.
    • request: 요청이 JSP 페이지의 실행을 트리거합니다. 요청에서 정보 얻기를 참조하십시오 .
    • response: JSP 페이지에서 리턴 한 응답입니다. 응답 구성을 참조하십시오.
  • 또한 다음 객체에 쉽게 액세스 할 수있는 몇 가지 암시 적 객체를 사용할 수 있습니다.
    • param: 요청 매개 변수 이름을 단일 값으로 맵핑합니다.
    • paramValues: 요청 매개 변수 이름을 값의 배열에 맵핑합니다.
    • header: 요청 헤더 이름을 단일 값으로 맵핑합니다.
    • headerValues: 요청 헤더 이름을 값 배열에 맵핑합니다.
    • cookie: 쿠키 이름을 단일 쿠키에 매핑
    • initParam: 컨텍스트 초기화 매개 변수 이름을 단일 값으로 맵핑합니다.
  • 마지막으로 범위 개체 사용에 설명 된 다양한 범위 변수에 액세스 할 수있는 개체가 있습니다.
    • pageScope: 페이지 범위 변수 이름을 해당 값으로 맵핑합니다.
    • requestScope: 요청 범위 변수 이름을 해당 값에 맵핑합니다.
    • sessionScope: 세션 범위 변수 이름을 해당 값에 맵핑합니다.
    • applicationScope: 응용 프로그램 범위 변수 이름을 해당 값에 맵핑합니다.

흥미로운 부분은 굵게 표시되어 있습니다. :)

따라서 질문에 대답하려면 다음과 같이 (EL을 사용하여) 액세스 할 수 있어야합니다.

${param.accountID}

또는 JSP 스크립틀릿 사용 (권장하지 않음) :

<%
    String accountId = request.getParameter("accountID");
%>

EL (JSP Expression Language) 사용 :

${param.accountID}


여기에 의견을 추가 할 수 있다면 ...

<c:out value="${param.accountID}"></c:out>

나를 위해 작동하지 않습니다 (0을 인쇄합니다).

대신, 이것은 작동합니다 :

<c:out value="${param['accountID']}"></c:out>


request.getParameter("accountID")당신이 찾고있는 것입니다. 이것은 Java Servlet API의 일부입니다. 자세한 정보는 http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.html 을 참조하십시오.


String accountID = request.getParameter("accountID");

예를 들어 subject_id로 주제 레코드를 삭제하려고했습니다.

@RequestMapping(value="subject_setup/delete/{subjectid}",method = RequestMethod.GET)
public ModelAndView delete(@PathVariable int subjectid) {
    subjectsDao.delete(subjectid);
    return new ModelAndView("redirect:/subject_setup");
}

그리고 매개 변수는 쿼리에 입력하는 데 사용됩니다

public int delete(int subjectid) {
    String sql = "update tbl_subject set isdeleted= '1' where id = "+subjectid+"";
    return template.update(sql);
}

www.somesite.com/Transaction_List.jsp?accountID=5

이를 위해 java에 URL메소드 호출 있습니다 . 문자열 값을 캐스트하는 것과 마찬가지로 request.getParameter여기에 숫자를 캐스트하려는 경우 . 귀하의 요구 사항을 위해 페이지의 아래 줄을지나 복사하십시오.intstring

int  accountId =(int)request.getParameter("accountID");

이제이 값 accountId을 전체 페이지에서 사용 하여 호출 할 수 있습니다 .

here accountId is name of parameter you can also get more than one parameters using this, but this not work. It will only work with GET method if you hit POST request then their will be an error.

Hope this is helpful.

참고URL : https://stackoverflow.com/questions/1890438/how-to-get-parameters-from-the-url-with-jsp

반응형