[java] 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);
}