文書の過去の版を表示しています。
Migration From struts application to JSF application
Struts Framework로 개발된 application을 JSF application으로 이관하는 과정을 소개한다.
처음으로 해야 할 일은 적절한 라이브러리들을 설정하는 것이다.
1.Struts-Faces 라이브러리를 애플리케이션에 추가: Struts-Faces 라이브러리는 Struts-faces.jar라고 하는
JAR파일에 포함돼있다.
Struts-Faces 배포판으로부터 이 파일을 애플리케이션의 WEB-INF/lib 디렉토리에 복사하기 바란다.
2.JSF 라이브러리를 애플리케이션에 추가 : 참조 구현체(Sun RI)의 경우에는 jsf-api.jar와 jsf-impl.jar를
사용하면 된다.
이 두 파일을 애플리케이션의 WEB-INF/lib 디렉토리에 복사하기 바란다.
3.JSTL 라이브러리를 애플리케이션에 추가: 이 라이브러리는 공식 JSTL 배포 사이트 또는 JSF 구현체로부터 얻을 수 있다.
JSTL JAR 파일들(jstl.jar 및 standard.jar)을 애플리케이션의 WEB-INF/lib 디렉토리에 복사하기 바란다.
4.JSF 컨트롤러 서블릿을 웹 애플리케이션 배치 설명자(WEB-INF/web.xml)에 추가: 이 단계는 다른 JSF 애플리케이션에서도
필요하다.
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class> javax.faces.webapp.FacesServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>
FacesServlet이 가장 먼저 로드되도록 <load-on-startup>을 1로 설정한 것을 유의하기 바란다. FacesServlet이 처음 로드돼야 하므로 struts servlet인 ActionServlet은 두 번째 또는 더 나중에 로드돼도록 해야 한다. 이는 ActionServlet을 정의한 부분에서 <load-on-startup>요소를 생략하거나, 값을 2이상으로 설정하면 된다.
<servlet> <servlet-name>Struts Servlet</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <load-on-startup>2</load-on-startup> </servlet>
5.JSF 컨트롤러 서블릿을 위한 서블릿 맵핑을 웹 어플리케이션 배치 설명자(WEB-INF/lib)에 추가: 4단계의 경우와 마찬가지로 이는 일반적인 JSF 설정 작업에 해당한다.
<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping>
이는 접두어 맵핑의 예이지만, 접미어 맵핑을 사용할 수도 있다.
6.Struts-Faces의 RequestProcessor를 Struts 설정 파일(WEB-INF/struts-config.xml)에 추가: <controller> 요소를 추가하면 된다. 만약 Tiles를 사용하지 않는다면 FacesRequestProcessor 클래스를 사용하기 바란다. 1)
<controller> <set-property property="processorClass" value="org.apache.struts.faces.application.FacesRequestProcessor"> </controller>
만약 Tiles를 사용하지 않는다면 FacesTilesRequestProcessor를 사용하면 된다.
<controller> <set-property property="processorClass" value="org.apache.struts.faces.application.FacesTilesRequestProcessor"> </controller>
Example of Struts-JSF Integration
Struts application을 JSF로 이관하는 과정을 이해하기 간단한 logon화면을 보여주는 jsp를 살펴보자. 현재의 struts버전은 대략 다음과 같은 모습이다. Listing 1: A simple Struts-based logon JSP
<%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html:html> <head> <title><bean:message key="logon.title"/></title> </head> <body> <html:errors/> <html:form action="/logon"/> <table border="0"> <tr> <td align="right"> <bean:message key="prompt.username"/> </td> <td align="left"> <html:text property="username"/> </td> </tr> <tr> <td align="right"> <bean:message key="prompt.password"/> </td> <td align="left"> <html:password property="password"/> </td> </tr> <tr> <td align="right"> <html:submit value="Log On"/> </td> <td align="left"> <html:reset/> </td> </tr> </table> </html:form> </body> </html:html>