시작하기 전에 연습 1.4: 사용자 정보 작성 및 편집을 위한 페이지 작성을 완료하십시오.
이 연습에서는 협업 작동(Click-to-Action 메커니즘을 사용하여 데이터를 소스 포틀렛에서 대상 포틀렛으로 송신)을 제공하는 추가 포틀렛을 작성합니다. 소스 포틀렛(ListingSearch)은 세션 Bean을 사용하여 경매 항목 데이터에 액세스합니다. ListingSearch 포틀렛을 사용하여 특정 목록을 찾으면, 대상 ListingDetail 포틀렛은 검색으로 찾은 항목에 대한 자세한 정보를 표시합니다. 모든 경우에서 먼저 포틀렛을 작성해야 합니다.
ListingSearch 포틀렛을 작성하려면 다음을 수행하십시오.
ListingSearchDetailView.jsp가 편집 분할창에 열립니다.
Page Designer에 ListingSearchView.jsp 파일이 열려 있는 상태에서, 다음 단계를 수행하여 세션 Bean 데이터를 ListingSearch 페이지에 대한 데이터 소스로 추가하십시오.
Java 페이지 코드를 추가하려면 다음을 수행하십시오.
EJB 참조 논리 및 코드를 추가하여 호출 및 결과를 사용자 인터페이스에 바인드하려면 다음을 수행하십시오.
public String doListingFacadeLocalFindByTitleAction() { String title = getListingFacadeLocalFindByTitleParamBean().getTitle(); getSessionScope().put("title", title); try { listingFacadeLocalFindByTitleResultBean = getListingFacadeLocal().findByTitle(title); } catch (Exception e) { logException(e); } return null; }
public ListingFacadeLocalFindByTitleParamBean getListingFacadeLocalFindByTitleParamBean() { if (listingFacadeLocalFindByTitleParamBean == null) { listingFacadeLocalFindByTitleParamBean = new ListingFacadeLocalFindByTitleParamBean(); String title = (String)getSessionScope().get("title"); listingFacadeLocalFindByTitleParamBean.setTitle(title); } return listingFacadeLocalFindByTitleParamBean; }
public ItemData[] getListingFacadeLocalFindByTitleResultBean() { if (listingFacadeLocalFindByTitleResultBean == null) { String title = (String)getSessionScope().get("title"); if (title != null) { try { listingFacadeLocalFindByTitleResultBean = getListingFacadeLocal().findByTitle(title); } catch (Exception e) { logException(e); } } } return listingFacadeLocalFindByTitleResultBean; }
ListingDetail 포틀렛을 작성하려면 다음을 수행하십시오.
ListingDetailView.jsp 파일이 편집 분할창에 열립니다.
Page Designer에 ListingDetailView.jsp 파일이 열려 있는 상태에서, 다음 단계를 수행하여 세션 Bean 데이터를 ListingDetail 페이지에 대한 데이터 소스로 추가하십시오.
Java 페이지 코드를 추가하려면 다음을 수행하십시오.
EJB 참조 논리 및 코드를 추가하여 호출 및 결과를 사용자 인터페이스에 바인드하려면 다음을 수행하십시오.
public String doListingFacadeLocalFindByIdAction() { Integer itemid = getListingFacadeLocalFindByIdParamBean().getItemid(); getSessionScope().put("itemid", itemid); try { listingFacadeLocalFindByIdResultBean = getListingFacadeLocal().findById(itemid); } catch (Exception e) { logException(e); } return null; }
public ListingFacadeLocalFindByIdParamBean getListingFacadeLocalFindByIdParamBean() { if (listingFacadeLocalFindByIdParamBean == null) { listingFacadeLocalFindByIdParamBean = new ListingFacadeLocalFindByIdParamBean(); Integer itemid = (Integer)getSessionScope().get("itemid"); listingFacadeLocalFindByIdParamBean.setItemid(itemid); } return listingFacadeLocalFindByIdParamBean; }
public ItemData getListingFacadeLocalFindByIdResultBean() { if (listingFacadeLocalFindByIdResultBean == null) { Integer itemid = (Integer)getSessionScope().get("itemid"); if (itemid != null) { try { listingFacadeLocalFindByIdResultBean = getListingFacadeLocal().findById(itemid); } catch (Exception e) { logException(e); } } } return listingFacadeLocalFindByIdResultBean; }
용어 협업 포틀렛은 페이지의 포틀렛이 서로 정보를 공유하여 상호 작용하는 기능을 말합니다. 포털 페이지에 있는 하나 이상의 협업 포틀렛은 소스 포틀렛에서 조치 또는 이벤트에 의해 트리거된 소스 포틀렛의 변경사항에 대해 자동으로 반응할 수 있습니다. 즉, 이벤트의 대상인 포틀렛은 사용자가 페이지의 다른 포틀렛에서 반복적인 변경사항이나 조치를 수행하지 않아도 되도록 반응할 수 있습니다. 협업 작동 구현에 사용되는 메커니즘을 Click-to-Action 이벤트라고 합니다.
소스 포틀렛의 아이콘을 사용하여 Click-to-Action 이벤트를 실행하십시오. 아이콘은 조치의 대상 목록을 포함하는 팝업 메뉴를 나타냅니다. 사용자가 특정 대상을 선택하고 나면, 특성 브로커는 해당되는 포틀렛 조치 양식으로 데이터를 대상에 전달합니다. Click-to-Action 전달 메소드를 사용하면, 사용자는 클릭만으로 소스 포틀렛에서 하나 이상의 대상 포틀렛으로 데이터를 전송할 수 있으므로, 대상이 조치에 반응하여 결과가 있는 새 창을 표시합니다.
ListingSearch 및 ListingDetail 포틀렛 사이에 협업 작동을 설정하려면 다음을 수행하십시오.
참고: Click-to-Action 출력 특성 오브젝트를
출력 필드상에(앞 또는 뒤가 아니라) 놓도록 하십시오. 출력 필드는 다음과 같이 사각형 상자에 강조표시되어 있어야 합니다.
(출력 필드 선택사항을 보려면 대화 상자를 옆으로 이동해야 할 수도 있습니다.)
<h:outputText id="text3" value="#{varlistingFacadeLocalFindByTitleResultBean.itemid}" styleClass="outputText"> <f:convertNumber /> </h:outputText> <c2a:encodeProperty type="itemid" namespace="http://auctionportlet" name="itemid" value="#{varlistingFacadeLocalFindByTitleResultBean.itemid}"> </c2a:encodeProperty>강조표시된 value 속성에 주의하십시오. 출력 특성이 페이지에 올바르게 추가되지 않으면 이 속성이 누락됩니다.
다음은 ListingSearch를 소스 포틀렛으로 식별하는 단계입니다. 다음과 같이 ListingDetail을 대상 포틀렛으로 사용되도록 설정하십시오.
Click-to-Action 소스가 올바르게 식별되는지 확인하려면 프로젝트 탐색기의 포틀렛 배치 설명자 폴더로 돌아가십시오. 소스 포틀렛(ListingSearch)과 대상 포틀렛(ListingDetails)을 나타내는 아이콘은 다음과 같아야 합니다.
ListingSearch 및 ListingDetail 포틀렛이 의도한 대로 작동하는지 확인하려면 이 포틀렛을 테스트 환경에서 실행해야 합니다.
포틀렛을 실행하려면 다음을 수행하십시오.
다음 연습을 진행하기 전에 테스트 환경 서버를 중지하십시오. 테스트 환경 서버를 중지하려면 서버 보기에서 테스트 환경 서버를
선택하고 서버 중지 도구 모음 단추 를 클릭하십시오.
이제 연습 2.1: 포틀렛 응용프로그램을 표시할 새 포털 작성을 시작할 수 있습니다.