${param}, gil.log.id=gillog 방식 사용

GilLog·2021년 5월 14일
0

JSP

목록 보기
2/2

🙆‍♂️ import 🙇‍♂️

WebLogic JSP Reference[Oracle]


${param}

${param}JSPEL 내장 객체 중 하나로, 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 가능!
profile
🚀 기록보단 길록을 20.10 ~ 22.02 ⭐ Move To : https://gil-log.github.io/

0개의 댓글