${param}, gil.log.id=gillog 방식 사용
🙆♂️ import 🙇♂️
WebLogic JSP Reference[Oracle]
${param}
${param}
은 JSP
의 EL 내장 객체
중 하나로, parameter
이름을 단일 String parameter 값에 Mapping하는 Map을 가져온다.
ServletRequest.getParameter(String name)
을 호출하여 값을 가져온다.
JSP
에서 아래와 같은 방식으로 사용할 수 있다.
${param.gillog}
// gillog라는 parameter의 String Value를 return
// 존재 하지 않으면 null
// request.getParameter("name")를 이용해 값을 가져오는 방식
<% String gillog = request.getParameter("gillog");%>
<%=name%>
gil.log.id=gillog
만약 아래와 같이 html tag에서 name을 “gil.log.id” 형태로 하여 request를 요청하면 생성되는 request의 parameter는 gil.log.id=???
형태로 전송된다.
<input type="text" name="gil.log.id" />
https://gil.com?gil.log.id=gillog
Controller
에서 Command Class
를 아래와 같이 Parameter에 명시하여 자동으로 Parameter 값을 CommandClass에 Binding 할 때가 있다.
@GetMapping(value = "/")
public String gilLogId(@ModelAttribute Gillog gillog) {
return "view/gillog"
}
public class Gillog {
Log log;
String name;
}
public class Log {
String id;
}
CommandClass안에 CommandClass가 포함되어 자동으로 Binding 시키기 위해 이러한 형태로 request를 생성하지만, 다시 JSP안에서 EL
내장 객체 ${param}
을 이용해 이 값을 가져올때 문제가 발생한다.
${param.gil.log.id}
// JSP안에서 값이 Mapping 되지 않는다!
이럴때는 간단하게 ${param['???.???']
형태로 사용하면 된다.
${param[gil.log.id]}
// Mapping 가능!
댓글남기기