Tapestry Component 개발회의.

2014. 1. 14. 17:37 - 에릭투스

----------------------------------------------------------------------------------------

2014-01-08(수) – Tapestry 컴포넌트 개발회의.

----------------------------------------------------------------------------------------

1) CSS/JS –> 태피스트리가 제공하는 기본 CSS/JS를 제어가능한 방법 찾기.

-Tapestry가 넣는 기본 CSS/JS로 인해 충돌 우려 때문.

2) Tapestry JS Component 사용 지양.

3) 엑셀다운 – POI를 이용한 컴포넌트화

*List를 넘기면, 자동으로 규격화된 엑셀화면 나오도록.

4) Event명칭 Renaming (한눈에 알아볼수있도록)

5) 추구 컨버팅해야 할 수도있으니, JSON구조위주와, JS위주로 기능개발하기.

----------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------

*Stitch-Tab 문제점.

----------------------------------------------------------------------------------------

-원페이지로 처리해야한다는점.

-Tab이 길어질수록 비즈니스 로직도 한페이지에서 처리해야한다는건 거의 재앙 수준임.

즉, tab별 페이지를 따로 갈 수 있도록 컴포넌트 개발이 필요.

Block 단위별 제어가 가능한지 R&D해야함.

*<t:delegate to=””>

GadgetSourceImpl 참조.

 

----------------------------------------------------------------------------------------

*Tapestry JumpStart Tab으로 바꿔서 해보니 잘됨. (구조 익히기)

----------------------------------------------------------------------------------------

-근데 이것도 문제인게, Tab인데 원페이지 기반으로 돌아가는거임.

(tab body에 컴포넌트를 넣어야하므로, 구현하는 페이지에서 로직을 모두 구현해야한다.)

-즉 탭 별로 페이지를 나누게 할 수 있는지도 확인해봐야함.

 

----------------------------------------------------------------------------------------

*delegate

private ComponentSource componentSource;

componentSource.getPage(contribution.getPageName()).getComponentResources()
                .getBlock(contribution.getBlockName());

 

Tapestry MarkupWriter, RenderQueue, RenderCommand같은 이 개념들을 익혀야한다..

Iframe형태로 사용할 수 없다면, 한페이지로 모두 처리해야하는 건데.. 그러면 유지보수 개망은 불보듯뻔한일..

----------------------------------------------------------------------------------------

 

*DOM

@UseConfiguration

생성자로직에서 Map으로 구성정보를 저장할 수 있다.

생성자(ComponentSource componentSource, Collection<GargetModel> contributaion){}

 

----------------------------------------------------------------------------------------

*Tapestry-5.4 beta1으로 되면서 바뀐점.

  jquery-library를 설정해주지 않음. 따라서 Cygnus-Core에서 configuration.add 해줘야함.

----------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------

*BlockExample 하면서 문제점.

Block bodyBlock = componentSource.getPage(pageName).getComponentResources().getBlock(blockName);

----------------------------------------------------------------------------------------

Block을 이렇게 가져와서 출력하는 형태이나, Block내부에 컴포넌트 사용시 파라미터를 String구조만 인식한다..

그도 그럴 것이, 한다리 건너서 구현하는 것이기때문에, String을 제외한 동적구조는 파악이 안될기다.

*Tab내부 body에 컴포넌트 사용시는 잘된다. (즉, body에 구현한 후 childMarkup을 통해 가져오는 방법)

왜냐, 파라미터가 해당page클래스에 정의 되어있응께

 

----------------------------------------------------------------------------------------

*해당 패키지에 등록된 Page명 목록 구하기 + 해당 Page Class Load

*ComponentClassResolver.getPageNames(); //등록된 페이지 명 다나옴.

*페이지명으로 Class load..

String className = this.componentClassResolver.resolvePageNameToClassName(pageName);

Class clazz = Thread.currentThread().getContextClassLoader().loadClass(className);

----------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------

*해당 페이지의 Message가져오기.

ComponentResources.getPage().getComponentResources().getMessages();

----------------------------------------------------------------------------------------

다른 카테고리의 글 목록

카테고리 없음 카테고리의 포스트를 톺아봅니다