EL
el 표현식에서 주의해야할 점. el표현식도 에러 페이지가 나타날수 있다

1. 없는 Object인 경우

java

controller{
    String name = "chan";
    model.addAttribute("name", name);
}

jsp

//jsp
${name}; // 당연히 오류 없음
${nameasdf} // 오류가 없음, null이 아닌 빈값으로 출력된다

2. DTO와 같은 클래스의 경우

java

class 선언

@Getter
@Setter
class TestDto{
    String name;
    Integer id;
}

controller

controller{
    TestDto test = new TestDto();
    test.setName("chanyeong");
    model.addAttribute('test', test);
}

jsp

//jsp
${test.name} //당연히 오류 없음
${test.id} //null이나 오류가 나타나지않고 빈 값으로 출력된다
${test.name2} // 에러 페이지 출력됨!!
${testasdf.name} //null이나 오류가 나타나지않고 빈 값으로 출력된다
  • getFieldName()처럼 필드를 get으로 변수를 가져오는 함수나 isTrue()와 같이 is로 시작하고 boolean값을 리턴하는 함수들은 출력된다.

댓글 쓰기