差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:jsf:migration [2008/04/25 14:10] – banana | study:jsf:migration [2008/04/26 12:50] (現在) – banana | ||
|---|---|---|---|
| 行 62: | 行 62: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| 行 68: | 行 80: | ||
| ===== Example of Struts-JSF Integration ===== | ===== Example of Struts-JSF Integration ===== | ||
| - | Struts application을 JSF로 이관하는 과정을 이해하기 간단한 logon화면을 보여주는 jsp를 살펴보자.\\ 현재의 struts버전은 대략 다음과 같은 모습이다. | + | Struts application을 JSF로 이관하는 과정을 이해하기 |
| + | 현재의 struts버전은 대략 다음과 같은 모습이다. | ||
| + | |||
| + | **Listing 1: A simple Struts-based logon JSP** | ||
| - | Listing 1: A simple Struts-based logon JSP | ||
| <code html> | <code html> | ||
| <%@ taglib uri="/ | <%@ taglib uri="/ | ||
| <%@ taglib uri="/ | <%@ taglib uri="/ | ||
| + | |||
| < | < | ||
| < | < | ||
| 行 110: | 行 125: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| </ | </ | ||
| - | **Step 1: Change the tag library declarations** 제일 처음에 해야 할 작업은 tag library 선언부를 Struts-JSF tag library로 바꾸는 것이다. 그리고 모든 컴포넌트 태그를 < | + | **Step 1: Change the tag library declarations** 제일 처음에 해야 할 작업은 tag library 선언부를 Struts-JSF tag library로 바꾸는 것이다.\\ |
| + | 그리고 모든 컴포넌트 태그를 < | ||
| <code html> | <code html> | ||
| 行 118: | 行 135: | ||
| <%@ taglib uri=" | <%@ taglib uri=" | ||
| <%@ taglib uri=" | <%@ taglib uri=" | ||
| + | |||
| < | < | ||
| <s:html locale=" | <s:html locale=" | ||
| </ | </ | ||
| - | **Step 2: Modify declarations for localized messages** 두번째 단계는 < | + | **Step 2: Modify declarations for localized messages** 두번째 단계는 < |
| + | basename을 지정하지 않으면 기본으로 저장되어있는 application의 기본 | ||
| <code html> | <code html> | ||
| < | < | ||
| </ | </ | ||
| + | |||
| + | 일단 로드되면 모든 컴포넌트로부터 messages를 키로 JSF Expression language형식으로 접근할 수 있다.\\ | ||
| + | 다음은 title을 %%ResourceBundle%%을 이용하여 지역화한 예이다. | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Step 3: Change tags for error and form components** 세번째는 validation error를 보여주는 < | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | <s:form action="/ | ||
| + | </ | ||
| + | |||
| + | **Step 4: Using JSF EL for input fields** 네번째 단계는 Struts form tag를 해당 JSF form tag로 교체하는 작업이다. | ||
| + | logonForm이라는 이름으로 %%ActionForm%%이 struts-config.xml에 저장돼있다고 가정한다. | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | ... | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | **Step 5: Change tags for submit and reset buttons** 마지막으로 button 의 label을 지역화한다. 이때 %%HtmlCommandButton%% 컴포넌트에 action속성이 지정되있지 않는 것에 눈여겨 보기 바란다. 이는 버튼이 클릭되면 < | ||
| + | |||
| + | 지금까지의 교체작업으로 바뀐 완성된 JSP는 다음과 같다.\\ | ||
| + | |||
| + | **Listing 2: Example logon JSP after migration using the Struts-Faces Integration Library** | ||
| + | |||
| + | <code html> | ||
| + | <%@ taglib uri=" | ||
| + | <%@ taglib uri=" | ||
| + | <%@ taglib uri=" | ||
| + | < | ||
| + | < | ||
| + | <s:html locale=" | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | <s:form action="/ | ||
| + | <table border=" | ||
| + | <tr> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | <td align=" | ||
| + | < | ||
| + | </td> | ||
| + | </tr> | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Reference ===== | ||
| + | - JSF In Action, Kito D. Mann | ||
| + | - [[http:// | ||
| + | |||