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);
}