Struts 2.1 + ajax 플러그인 : dojo툴킷 이용 방법 변경

실로 오랜만에 struts 2 (정확히는 2.1.6 )를 잡았습니다.
개발팀원이 참조 할 몇몇 코드조각들을 작성하고 있는데 어제는 ajax tag 쪽 코드를 작성했습니다.
코드를 작성해 실행을 시켰는데 아래와 같은 몇몇 오류와 맞닥뜨립니다.


Template /template/ajax/head.ftl not found. - Class: freemarker.template.Configuration
File: Configuration.java
Method: getTemplate
Line: 489 - freemarker/template/Configuration.java:489:-1



org.apache.jasper.JasperException: Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl. - Class: freemarker.core.TemplateObject
File: TemplateObject.java
Method: assertNonNull



Expression parameters.pushId is undefined on line 24, column 6 in template/ajax/a-close.ftl.
The problematic instruction:
----------
==> if parameters.pushId [on line 24, column 1 in template/ajax/a-close.ftl]


원인은 스트럿츠 2.1 릴리즈!! Committer 인터뷰에서도 언급되었던 내용에서 기인합니다.
기존 strtus2 에서 Dojo 툴킷을 이용한 ajax를 이용하기 위해서 <s:head theme="ajax" /> 같이
기술하던 부분이 deprecated 되었습니다. strtus2.1에서 ajax 태그를 이용하기 위해서는
문서 상단에 <%@ taglib prefix="sx" uri="/struts-dojo-tags" %> 와 같이 새로운 태그 라이브러리를
지정하고 <s:head theme="ajax" /> 를 <sx:head parseContent="true"/> 로 수정,
<s:div ... /> 부분도 <sx:div ... /> 로 바뀔 뿐만 아니라 각 태그의 속성들도 변화가 있습니다.

스트럿츠 2.0 과 2.1의 차이점을 확인하고 싶으시거나 2.0을 2.1로 마이그레이션을
고려하고 계신다면 Apache Strtuts 2 Wiki 의
Troubleshooting guide migrating from Struts 2.0.x to 2.1.x
를 참고하시면 좋을 듯합니다.
이 글의 관련글
  • Redirection When Session Times Out :: 서블릿 필터를 이용한 리다이렉션 코드
  • ZIP/JAR 엔트리의 생성 제어하기
  • WebRowSet 을 이용한 JDBC 활용하기 4부
  • 넷빈즈(NetBeans) 실행하기 - ClassPath 설정 v1.0
  • CookieHandler를 이용한 쿠키 관리
  • SCJP 5.0 인증 시험 시뮬레이터
  • WebRowSet 을 이용한 JDBC 활용하기 2부
  • 자바 파일복사 코드와 성능 2 :: Java File Copy Code & Perfomance Issue. part 2 (7)
  • Struts File Upload
  • 2009/08/26 10:57 2009/08/26 10:57
    Trackback Address:http://www.yunsobi.com/blog/trackback/505
    [로그인][오픈아이디란?]