나는 보통 Business Logic 을 코딩할때
- component(behavior)
- DAO (interface & implements)
- parameter(enum)
- bean
이러한 패턴으로 팩키지를 작성한다.
가끔은 util 성 Class도 필요해서 util package도 만드는데,
util Class안에서만 쓸 Bean 이 필요해서
class안에 InnerClass 형태로 Bean을 만들고, toString override 까지 했다.
저 bean 들을 List 인터페이스로 반환하는 메소드를 만들었는데
component(behavior)에서 제너레이션<> 타입을 정의하지 않았고 컴파일시 오류가 나지 않았다.
템플릿에서 component연결후
<c:forEach items="${response.weeklist }" var="week" >
<option value="
${week.sunday }">${week }</option>
</c:forEach>
몹쓸..week.sunday (bean의 멤버변수) 를 읽지 못하는것이였다. 소스를 다시 보며
util 메소드를 리턴받는 제너레이션을 선언하자 그때서야 inner class를 visible 할수 없다는 메세지가 뜨는
상황이 왔다. 근데 진짜 신기한게 ㅋㅋ override 한 ${week}는 잘보인다는 거다. 뭥미. 언어 설계자는 어떠한 의도인건지.
아 -ㅅ- 그때서야 inner class 밖에서 호출못하지란 생각이 번뜩..
inner class를 알아보니 4가지 타입이나 있다. 어후...난 정말 자바를 손톱만도 모른다.
http://cafe.naver.com/jd7th.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=143