요청파라미터 전달방식과 사용방법
**getParameter 리턴타입
메서드 리턴타입
getParameter(String name) String
getParameterValues(String name) String[]
getParameterNames() java.util.Enumeration
getParameterMap() java.util.Map
<%@page import="java.util.Map"%>
<%@page import="java.util.Arrays"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>03/parameterDesc.jsp</title>
</head>
<body>
<h4>요청 파라미터 전달 방식과 사용 방법</h4>
<form action="" method="get">
<input type="text" name="param1" value="value1">
<input type="text" name="param1" value="value2">
<input type="number" name="param2" value="234">
<input type="text" name="param3" value="한글파라미터">
<input type="submit" value="전송">
</form>
<%
request.setCharacterEncoding("UTF-8");
Map<String,String[]> paramteterMap = request.getParameterMap();
if(paramteterMap.size() > 0){
%>
<pre>
param1 : <%=Arrays.toString( request.getParameterValues("param1")) %>
param2 : <%= Integer.parseInt(request.getParameter("param2")) %>
param3 : <%= request.getParameter("param3") %>
<%
}
%>
</pre>
</body>
</html>
reqeust.getParameterMap();
JSP웹프로젝트나 스프링프레임워크에서 폼이나 ajax를 이용해 컨테이너에 전송을 하고 HttpServletRequest로 받는 경우가 많다.
파라미터 값을 출력할 때 주로 request.getParameter("name") 이런식으로 해야 한다.
이렇게 할 경우 넘겨주는 파라미터의 이름이 바뀌거나 추가될 경우 컨트롤러도 수정해야 한다.
모든 파라미터를 어딘가에 이용해야 하는 경우 컨트롤러 수정없이 다 이용할 수 있는 방법이 있다.
request.getParameterMap().keySet()를 이용하거나 request.getParameterNames()를 이용하면 된다.
두 경우 동일한 결과를 얻기 때문에 편한걸로 사용하면 될 것 같다.
param1 : <%=Arrays.toString( request.getParameterValues("param1")) %>
- 배열 내용 출력하기 (Arrays.toString())
param2 : <%= Integer.parseInt(request.getParameter("param2")) %>
param3 : <%= request.getParameter("param3") %>