2010-03-26 8 views
4

죄송 합니다만, Velocity에 익숙하지 않고 다른 사람의 문제를 해결하려고합니다. 나는 속도 템플릿 안에 URL을 인코딩 할 필요가있다. 나는 URL을 만들고 쿼리 문자열의 일부로 페이지 이름에 사용자를 전달합니다. 이 페이지에는 ëðû와 같은 특수 문자가 포함될 수 있습니다. URL은 당신이 사용할 수있는 템플릿 내부 URL을 인코딩하기 위해 http://foo.com/page1/jz?page=SpecialChars_ëðû속도 템플릿에 URL을 인코딩하는 방법이 있습니까

답변

3

과 같습니다 EscapeTool의 일부입니다

$esc.url($myUrl)

합니다.

참고 : 속도 용기뿐 아니라 velocity tools jar을 사용해야합니다. (없으면 예외가 발생하지 않음). 또한 구성을 확인하는 것이 좋습니다. 설명 : here

+0

이스케이프 도구를 사용하려면 수행해야 할 것이 있습니까? 나는 $ esc.url ($ myParam)과 같은 템플릿에 이것을 추가하려고 시도했지만 리터럴로 취급되었다. – Brabster

+0

어떤 도구가 활성화되어 있습니까? 이를 활성화하는 방법은 속도 엔진을 초기화하는 방법에 따라 다릅니다. – serg

1

나는 그것이 늦었다는 것을 알고 있습니다. 오늘 제가 이것을 어떻게 풀어 냈습니다. 엔진을 호출하는 클래스에서는

configure("esc",new EscapeTool()); 
context.put("url", "http://www.google.com"); 

지금 템플릿에 당신이

$의 esc.url ($ URL이)

-1

내가 단지 기꺼이하지 않았다 말할 수 말할 수 속도로 EscapeTool을 사용하여 url 인코딩을하십시오. 따라서, 여기에 내가 가진 솔루션입니다 -

사용할 수는 $ httpUtil.decodeURL ($ SITEURL)/$ httpUtil.encodeURL

또한 속도에 URL 인코딩에 대한 ($ SITEURL), 당신은 할 수 Velocity에서 text/html 콘텐츠를 이스케이프 처리하려면 $htmlUtil.escapeAttribute()을 사용하십시오.

$htmlUtil.escapeAttribute($refSiteName)

관련 문제