제가 진행중인 프로젝트의 일부로 Velocity에서 JSP로 마이그레이션 중입니다. 기존 Velocity 템플릿 집합을 JSP로 변환해야합니다. 우리는 왜 이것이 결정되었는지 (부분적으로는 내 잘못),이 방법으로 경영을 단념시키는 가장 좋은 방법을 논의하는 데 시간을 할애 할 수 있습니다.하지만 시간이 너무 오래 걸릴 수 있습니다.Velocity에서 JSP로 마이그레이션
그래서 내가 찾고있는 것은 일련의 패턴, 모범 사례입니다. 무엇을 도와 드릴까요? 다양한 템플릿에 걸쳐 사용되는 Velocity 매크로가 글로벌 라이브러리 파일에 있습니다. 각 매크로를 JSP 스크립틀릿으로 변환하고 매크로를 Java로 변환 할 생각입니다. 그런 다음 include 지시어 또는 jsp : include를 통해 각 스크립렛 릿에 해당 파일을 각 JSP에 포함합니다. 또한 각 호출을 매크로로 변환하여 스크립틀릿으로 만들려고합니다. 이 매크로는 Spring ModelAndView 클래스에 정의 된 bean 인 매개 변수를 가지고 있습니다.
예비 테스트는이 접근법이 작동하지 않는다는 것을 나타냅니다. JSP 컴파일 오류가 발생하는 것 같습니다. 그러나 나는 내 부분에 오류가 누락되었을 수 있습니다.
OC4J 버전 10.1.3.4.0에서이 웹 응용 프로그램을 실행하고 있습니다.
다음은 간단한 처리 예입니다. 이것은 VM_global_library.vm 파일에 있습니다 :
#macro(showObjectErrors $objectName)
#if ($request.errorSystem.hasErrors($objectName))
<table>
#foreach ($error in $request.errorSystem.getErrors($objectName))
<tr>
<td class="acError">$error</td>
</tr>
#end
</table>
#end
#end
을 그리고 그것은과 같이 다른 파일에서라고 :
이#showObjectErrors("logonForm")
은 "요청"객체가 HttpServletRequest의 아니라는 것을 참고하지만, 응용 프로그램 클래스입니다. 보기에 너무 많은 복잡한 예제가 있습니다.
"이동 중"이라고 말하면 "마이그레이션 중"이라는 의미이며 가장 쉬운 (가장 쉬운) 마이그레이션 방법을 찾고있는 것으로 보입니다. 그건 사실이 아니야. Velocity에서 JSP로 이동하는 것을 "재 작성"이라고합니다. 결론적으로 최선의 방법은 새 JSP 코드를 스크립 트가 없어도되도록 작성하는 것입니다. – ChssPly76
Velocity 템플릿 파일 세트가 있습니다. JSP로 변환해야합니다. –
그 점을 이해합니다. 어쨌든 당신이 결국 바닥에서 다시 작성하게 될 것이라고 말하고 있습니다. Velocity 매크로는 JSP 세계에서 직접적인 대응이 없다. jsp-include는 다소 빈약 한 대체 코드입니다. Apache Tiles (http : //tiles.apache.org)는 includes를 통해 페이지 구성에 다소 나은 접근법을 제공합니다. Velocity 매크로를 일대일로 번역 할 수는 없습니다. – ChssPly76