데이터 바인딩에 대해서 설명해 주세요 ㅠㅠ

60 views
Skip to first unread message

reperion

unread,
Sep 25, 2010, 12:39:05 AM9/25/10
to Korea Spring User Group
아 데이터 바인딩 좀 보고 있었더니 머리가 아픕니다.

지금 상황은 DB -> Web View 입니다.

13:00:00 이라는 sql.Time 형식의 필드를 오후, 1시 이렇게 찍어 줄려고 하고 있습니다.
이게 단일 폼 에서 보여주는것이 아니라,
목록에서 리스트로 보여 주고 싶습니다.
${study.meeting.startTime} 이렇게요.

지금 프로퍼티 에디터로 사용하고 있는데, 일단 만들어 놓은 커스텀 PE 가 잘 되나 볼려고,
수정 폼에서 커스텀 PE 사용해서 보면,
${ meeting.startTime} 이렇게 하면 바뀌지 않은 형식으로 나옵니다.(13:00:00)
<form:input path="meeting.startTime" /> 이렇게 하면 바뀐 형식으로 표시됩니다.(오후, 1시)

디버깅을 걸어보면 폼 태그를 쓰지 않으면 커스텀 PE를 타지않고, 폼 태그 을 써야 커스텀 PE를 타는데,
이것이 정확히 동작 하고 있는 건가요?

아무튼 폼 태그를 쓰거나, 아니면 <spring:bind> 써야 값이 변경되어 출력 되는데,

리스트 형식에서는 study.meeting.startTime 이걸 폼 태그나 스프링 태그를 써서 적용할려고 해도
세션 어트리뷰트가 없기 때문에 적용할 수 도 없습니다.(session attr은 study 하나)

그럼 컬렉션 객체의 내부 값에 대한 바인딩은 어떻게 해야 하는걸까요??

One Bread

unread,
Sep 25, 2010, 10:53:51 PM9/25/10
to ks...@googlegroups.com
Spring 3.0을 사용한다면 http://toby.epril.com/?p=989 를 참고해 보세요.
<spring:eval>을 사용하면 폼이 아닌 단순 출력에도 PE/Converter 등을 적용할 수 있어요.
<mvc:annotation-driven>과 함께 사용하시면 되요.

2010/9/25 reperion <dos...@gmail.com>

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.


reperion

unread,
Sep 26, 2010, 8:15:55 PM9/26/10
to Korea Spring User Group
설명해주신대로 한 후
<spring:eval expression="meeting.openTime?:''"/>
이렇게 하니깐 표시가 되긴 하는데..
expression 부분은 잘 모르겠네요 ㅎㅎ

el 보니깐 ?:"" 이게 The Elvis Operator 방식이라네요.

On 9월26일, 오전11시53분, One Bread <onebread....@gmail.com> wrote:
> Spring 3.0을 사용한다면http://toby.epril.com/?p=989를 참고해 보세요.


> <spring:eval>을 사용하면 폼이 아닌 단순 출력에도 PE/Converter 등을 적용할 수 있어요.
> <mvc:annotation-driven>과 함께 사용하시면 되요.
>

> 2010/9/25 reperion <dosa...@gmail.com>


>
> > 아 데이터 바인딩 좀 보고 있었더니 머리가 아픕니다.
>
> > 지금 상황은 DB -> Web View 입니다.
>
> > 13:00:00 이라는 sql.Time 형식의 필드를 오후, 1시 이렇게 찍어 줄려고 하고 있습니다.
> > 이게 단일 폼 에서 보여주는것이 아니라,
> > 목록에서 리스트로 보여 주고 싶습니다.
> > ${study.meeting.startTime} 이렇게요.
>
> > 지금 프로퍼티 에디터로 사용하고 있는데, 일단 만들어 놓은 커스텀 PE 가 잘 되나 볼려고,
> > 수정 폼에서 커스텀 PE 사용해서 보면,
> > ${ meeting.startTime} 이렇게 하면 바뀌지 않은 형식으로 나옵니다.(13:00:00)
> > <form:input path="meeting.startTime" /> 이렇게 하면 바뀐 형식으로 표시됩니다.(오후, 1시)
>
> > 디버깅을 걸어보면 폼 태그를 쓰지 않으면 커스텀 PE를 타지않고, 폼 태그 을 써야 커스텀 PE를 타는데,
> > 이것이 정확히 동작 하고 있는 건가요?
>
> > 아무튼 폼 태그를 쓰거나, 아니면 <spring:bind> 써야 값이 변경되어 출력 되는데,
>
> > 리스트 형식에서는 study.meeting.startTime 이걸 폼 태그나 스프링 태그를 써서 적용할려고 해도
> > 세션 어트리뷰트가 없기 때문에 적용할 수 도 없습니다.(session attr은 study 하나)
>
> > 그럼 컬렉션 객체의 내부 값에 대한 바인딩은 어떻게 해야 하는걸까요??
>
> > --
> > Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.

> > 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com<ksug%2Bunsu...@googlegroups.com>로

백기선

unread,
Sep 26, 2010, 8:21:03 PM9/26/10
to ks...@googlegroups.com
meeting의 openTime이 null이면... ""를 출력하라는것 같네요.
null인 경우에 사용할 삼항연산자를 간추릴 수 있는 연산자? 표현식? 이죠.

자세한건 레퍼런스에..


2010년 9월 27일 오전 9:15, reperion <dos...@gmail.com>님의 말:
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.




--
좋은 하루 되세요~
Reply all
Reply to author
Forward
0 new messages