거기에 JSML 객체를 가져 와서 HTML 템플릿 파일에 매핑하는 perl의 HTML :: Template과 비슷한 패키지가 있습니까? 나는 HTML :: Template을 사용하여 웹 애플리케이션을 구축 중이며 웹 서비스 API에서 JSOn을받을 것이다. HTML :: Template이 요구하는 정확한 방식 대신 HTML에 JSOn을 템플리트화할 수 있다면 간단하다.HTML :: Template Perl
1
A
답변
6
HTML :: Template는 문자열, 해시 및 배열로 구성된 데이터 구조를 취합니다. JSON은 바로 그 위에 매핑됩니다.
$template->param(myData => JSON::Any->new->decode($json_string));
1
HTML::Template
는하는 주형이 아니라 '단순한'엔진입니다 - 단순 당신이 Model View Controller
아키텍처에서 view
부분에 무엇을해야 당신이하자 때문에 따옴표를 사용하고 있습니다.
그러나 HTML::Template
안에 임의의 perl 코드를 실행할 수 없습니다.
또한 JSON
에는 매우 복잡한 데이터 구조가있을 수 있으므로 템플릿에서 직접 JSON
을 사용하는 적절한 방법이 있는지 의심 스럽습니다.
가능한 유일한 해결책은 JSON
을 구문 분석 할 펄 스크립트를 사용하고 '개체'를 만들어 템플릿에 전달하는 것입니다. 이미 perl 스크립트가 있습니다 - HTML::Template
객체를 인스턴스화하는 스크립트입니다.
1
괜찮아요, 조금 늦었지만 : HTML :: Template은 항상 해시 배열 등의 해시를 원합니다. 이며 stash 매개 변수를 탐색 할 수 없습니다. 이렇게하려면 HTML :: Template :: Compiled를 시도해 볼 수 있습니다.
<tmpl_var some_hash.key.another_key[23] >
또는 대체 구분 기호와
:[%= some_hash.key.another_key[23] %]
하지만 HTML :: 템플릿에 모듈의 문서화 차이를 확인합니다.
그래서 JSON 문자열을 데이터 구조로 디코딩하고이를 템플릿에 전달하면 구조 깊숙한 곳에있는 모든 값에 액세스 할 수 있습니다.
관련 문제
- 1. Html Template into Asp.net2.0
- 2. HTML :: Template 모듈을 사용할 때의 문제
- 3. joomla html 5 ie7 template
- 4. Perl HTML Cleaning
- 5. 존재합니까? HTML Template Renderer JavaScript로 작성 되었습니까?
- 6. 값 속성 내에서 HTML :: Template 사용
- 7. Perl 테이블 용 HTML 파서
- 8. Perl -> HTML 객관식 파서
- 9. Perl Escape :: HTML 함수가 이스케이프 #?
- 10. html, 하이퍼 링크, perl, reload
- 11. perl html 파싱 lib/tool
- 12. Codeigniter Template
- 13. Channging Template
- 14. XSL xsl : template match = "/"
- 15. backbone.js json -> template
- 16. Template Toolkit을 사용할 수없는 이유는 무엇입니까?
- 17. Template :: Toolkit 변수 처리
- 18. Template Toolkit의 매크로 인수에서 HTML 필터를 사용하려면 어떻게해야합니까?
- 19. Hunchentoot/html-template/Lisp을 사용하여 동적 웹 페이지 검색
- 20. gettext를 사용하여 HTML :: Template [:: Compiled]에서 I18N을 수행하려면 어떻게해야합니까?
- 21. HTML :: Template <TMPL_IF> 블록을 건너 뛰는 중
- 22. 플렉스 앱에서 html-template 폴더의 위치를 변경하려면 어떻게해야합니까?
- 23. PHP 스크립트와 혼합 된 템플릿 : php html template
- 24. 내장 "html/template"또는 "콧수염"중 하나를 사용해야합니까?
- 25. "text/template"요소로 EJS 템플릿을 사용하여 HTML 유효성 검사
- 26. HTML :: Template :: Pro에서 조건부 매개 변수를 지정하는 방법은 무엇입니까?
- 27. Perl 템플릿에서 해시에 액세스하기
- 28. htmlentities in jQuery template plugin
- 29. referenceer in underscore js template
- 30. Perl AJAX에서 html 문자를 스트링에서 제거하고 있습니까?
JSON 객체의 딥 (deep) 속성을 인쇄하고 싶다면 HTML 템플릿 코드는 어떻게 생겼을까요? – MadHacker
[문서의 루프 섹션] (https://metacpan.org/module/HTML::Template#TMPL_LOOP)을보십시오 – Quentin
이것은 1 또는 2 수준의 간단한 JSON 개체에서 작동하지만 TMPL_LOOP를 사용하면 최적이 아닙니다. 복잡한 JSON 데이터 구조. 그것은 성가신 못생긴 HTML 템플릿 코드로 이어집니다. 할 수있는 곳을 찾고 있었고 사용자의 주소가 들어있는 해당 사용자의 JSON 객체에 직접 액세스했습니다. JSON 객체의 구조를 알 필요가 있지만 그 사실을 알고 있습니다. –
MadHacker