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
를 참고하시면 좋을 듯합니다.
이 글의 관련글
  • InputStream.read()
  • Java Profiler JProbe 8.0 출시!! :: 자바 프로파일러
  • 객체 지향론자를 위한 함수 프로그래밍(Functional programming)
  • Struts File Upload
  • ANT 를 이용한 RMI 컴파일 ( rmic 로 stub 생성하기 )
  • 자바 제한자 정리 : Modifires Matrix in Java
  • Eclipse 3.3 or NetBeans 6.0?
  • 제 10회 자바 개발자 컨퍼런스 (2)
  • WebRowSet 을 이용한 JDBC 활용하기 4부
  • NetBeans IDE 6.0 Milestone 9 배포
  • 자바는 call by value? call by reference? (1)
  • 컴포넌트 시스템과 클래스 로더 경계 :: Java Class Loader
  • 2009/08/26 10:57 2009/08/26 10:57
    Trackback Address:http://www.yunsobi.com/blog/trackback/505
    [로그인][오픈아이디란?]