itsource

JSP를 사용하여 URL에서 파라미터를 취득하는 방법

mycopycode 2022. 9. 3. 13:59
반응형

JSP를 사용하여 URL에서 파라미터를 취득하는 방법

JSP에서는 URL에서 파라미터를 취득하려면 어떻게 해야 합니까?

예를 들어 URL이 있습니다.www.somesite.com/Transaction_List.jsp?accountID=5
나는 5를 받고 싶다.

요청이 있습니까?getAttribute("계정")ID'는 세션이나 이와 유사한 것을 위해 존재하는 것과 같습니까?

Java EE 5 튜토리얼에서는 Unified Expression Language의 암묵적 객체에 대해 다음과 같이 기술하고 있습니다.

암묵적 객체

JSP 표현 언어는 암묵적인 오브젝트 세트를 정의합니다.

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

흥미로운 부분은 굵은 글씨로 표시되어 있습니다.

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

${param.accountID}

또는 JSP Scriptlet을 사용하는 경우(권장하지 않음):

<%
    String accountId = request.getParameter("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>!

쿼리 문자열에 이름이 지정되지 않은 경우 출력은 다음과 같습니다.

Hello <b>null</b>!

다음 예제에서는 스크립트릿의 쿼리 파라미터 값을 사용합니다.

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

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

★★★★★★★★★★★★★★에 대해서URL이 있어요.request.getParameterjava에서는, 여기의 번호를 「」에 하는 는, 「」로 .int이 「Cring Value」로 되는 경우도 string 행, 「 」 「 」 「 」 「 」 、 「 。

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

값은 '어느 정도'를 사용해서 수 있습니다.accountId전체 페이지에.

(여기서)accountId을 사용하다이것을사용하면여러개의 파라미터를얻을수도있습니다.단,이것이동작하지않습니다.에서만 합니다.GET(메서드)를합니다.POST이치노

이게 도움이 됐으면 좋겠네요.

페이지 1 : 상세페이지2 : <% String id = request.getParameter("userid");%> // 이제 hsql 상세제품의 SQL 쿼리에 id를 사용할 수 있게 되었습니다.

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

반응형