메서드의 동작을 덮어 쓸 수 있습니까 CreateLink 및 CreateLinkTo?** CreateLink ** 및 ** CreateLinkTo ** 메서드의 동작을 덮어 쓸 수 있습니까?
답변
메타 프로그래밍을 사용하여 ApplicationTaglib의 클로저를 대체 할 수 있습니다.
ApplicationTagLib.metaClass.getCreateLink = {->
return {attrs->
// your code here
}
}
나는 그것을 시도 적이 있지만 작동 할 수 있습니다 :
당신이해야 할 일은 자신이
class MyTabLib {
def createLink = {attrs, body ->
.... etc ....
}
def createLinkTo = {attrs, body ->
.... etc ....
}
}
Grails는 것, 즉 태그를 자신의 태그 라이브러리를 생성하고 정의입니다 먼저 taglib을 사용하십시오.
희망이 도움이됩니다!
답장을 보내 주셔서 감사합니다. 이 태그 안의 원본 createLink를 호출하는 방법을 지정할 수 있습니까? 난 단지 생성 된 링크를 수정할 필요가 접두사를 추가합니다. (+1) – Luixv
당신은 뭔가를 할 수 있어야합니다. def createLink = {attrs, body -> def apptag = new ApplicationTagLib() << << 접두사; out << apptag.createLink (attrs, body); } –
조금 늦었지만 위의 해결 방법은 나에게 적합하지 않았습니다. 그래도이 작업을 성공적으로 수행 할 수있었습니다.
public class MyTagLib extends ApplicationTagLib {
def oldResource
public MyTagLib() {
// save the old 'resource' value
oldResource = resource;
resource = staticResource;
}
def staticResource = { attrs ->
// dork with whatever you want here ...
// ...
out << oldResource(attrs);
}
}
기본적으로 원래 태그를 확장하고 있습니다. 'resource'태그는 메서드의 메서드가 아닌 개체의 속성이기 때문에 실제로 재정의 할 수 있다고 생각하지 않습니다. 대신 원래 값을 저장하고 태그 요청을 변경 한 후에 호출하십시오.
oh .. 'resource'태그를 재정의하고 있지만 'createLink'또는 'createLinkTo'(더 이상 사용되지 않는 'resource'태그) –
- 1. 메시징에서 JMS 공급자 동작을 어떻게 든 덮어 쓸 수 있습니까?
- 2. 예외를 덮어 쓸 수 있습니까?
- 3. NSUserDefault를 덮어 쓸 수 있습니까?
- 4. 동작 값을 양식에 덮어 쓸 수 있습니까?
- 5. 어떻게하면 디렉토리를 덮어 쓸 수 있습니까?
- 6. SQLite 파일의 내용을 어떻게 덮어 쓸 수 있습니까?
- 7. SVN이 대상 분기를 복사 및 덮어 쓸 수 있습니까? 아니면 소스 분기를 병합하고 유지할 수 있습니까?
- 8. iPhone : 다른 앱이 sqlite 데이터베이스를 덮어 쓸 수 있습니까?
- 9. 다른 사용자가 현재 열어 놓은 파일을 덮어 쓸 수 있습니까?
- 10. 한 프로세스가 다른 프로세스의 메모리를 덮어 쓸 수 있습니까?
- 11. Git에서 분기를 병합하는 대신 덮어 쓸 수 있습니까?
- 12. CMF 스킨의 템플릿을 Zope 3 브라우저에서 덮어 쓸 수 있습니까?
- 13. 실행중인 파이썬 프로그램이 자신을 덮어 쓸 수 있습니까?
- 14. svn_load_dirs.pl 또는 유사하게 저장소 파일을 자동으로 덮어 쓸 수 있습니까?
- 15. 업로드 된 파일을 대체/덮어 쓸 수 있습니까?
- 16. QWizard의 "다음"슬롯을 어떻게 덮어 쓸 수 있습니까?
- 17. jQuery - 어떻게 배경색 애니메이션을 호버로 덮어 쓸 수 있습니까?
- 18. AVAssetExportSession을 사용하여 iPhone/iPod 라이브러리의 노래를 덮어 쓸 수 있습니까?
- 19. C#에서 잠긴() 개체를 덮어 쓸 수 있습니까?
- 20. 다른 프레임 워크에서 JavaScript 함수를 덮어 쓸 수 없습니다.
- 21. 마우스를 HTML로 덮어 쓸 때
- 22. 의견을 쓸 수 있습니까
- 23. 텍스트 변환은 변경하거나 덮어 쓸 수 없습니까? (css)
- 24. dojo dijit createLink 질문
- 25. IllegalStateException : Guava의 원인을 덮어 쓸 수 없습니다. map.put
- 26. 세션 값이 로컬 변수를 덮어 쓸 수 있습니다
- 27. 자기가 덮어 쓸 때이 경우 변수는 어떻게됩니까?
- 28. Python : __eq__ 및 __hash__를 덮어 쓸 수있는 좋은 방법입니까?
- 29. __init__를 덮어 쓸 때 속성을 사용할 수 없습니까?
- 30. 왜 보호 된 메서드를 as3에서 public으로 덮어 쓸 수 없습니까?
어떤 행동을 무시하려고합니까? –
생성 된 링크에 접두어를 추가하고 싶습니다. 접두사와 href의 반환 HTMLCodec 메서드를 작성하여 내 문제의 일부를 해결할 수 있습니다. 불행히도 SRC 속성을 사용하는 태그의 경우는 그렇지 않습니다. 지금까지 본 SRC는 CreateLink 또는 CreateLinkTo를 사용하여 생성되었습니다. 이 행동이 가능합니까? – Luixv