{"id":11353,"date":"2024-01-15T10:30:12","date_gmt":"2024-01-15T13:30:12","guid":{"rendered":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/"},"modified":"2024-01-15T10:30:12","modified_gmt":"2024-01-15T13:30:12","slug":"template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside","status":"publish","type":"post","link":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/","title":{"rendered":"Template based web design with JSF Facelets: ui:insert versus ui:include &#8211; TheServerSide"},"content":{"rendered":"<p>In these tutorials on template based webpage development with JSF 2.x and Facelets, we&#8217;ve kept the basic <i>layout page <\/i>pretty simple. We have defined the various page elements with the ui:insert tag, and then within those tags, we&#8217;ve simply spit out a word like Heading or Footer or Messages, right there inside the layout.xhtml page itself. This is acceptable in a tutorial, but normally, each individual page element, be it the header, footer, right navigation pane and even the content window would normally go in a separate file. For example, anything to do with the footer should go in a file of its own, likely named footer.xhtml. Here is what the code would look like if we factored out the various page elements into their own files:<br \/><b>The footer.xhtml page<\/b><br \/><b>The header.xhtml page:<\/b><br \/><b>The messages.xhtml page:<\/b><br \/><b>The rightnav.xhtml page:<\/b><br \/>Take a look at the following screenshot of the page we are developing to get a better idea of where each of these code snippets will eventually land:<br \/><img fetchpriority=\"high\" decoding=\"async\" alt=\"\" height=\"261\" src=\"https:\/\/lh5.googleusercontent.com\/-raHUSQ37M1g\/U8r4ZeQjMzI\/AAAAAAAAAh8\/os14vekNSig\/w350-h261-no\/template.gif\" width=\"350\" style=\" border: 1px solid black;\"><br \/><b>Template based design with JSF Facelets: The difference between ui:insert and ui:include<\/b><br \/>When the page is divided up into individual files, they can be aggregated into the template by using the <b><i>ui:insert<\/i><\/b> tag, not to be confused with the <b><i>ui:include<\/i><\/b> tag. Doing so, the corresponding entries in the previous iteration of the layout.xhtml will change from what is seen below:<br \/>to what is seen here:<br \/><b>Abstraction through the ui:include tag<\/b><br \/>Of course, using the ui:include tag adds an extra level of indirection to your template, but given the fact that headers and footers and other page elements in a typical enterprise application will be quite complex, factoring out this content into individual pages is a must.<br \/>When the layout.xhtml is completely refactored to use <i>ui:includes<\/i> rather than just hard coding information, the final product reads as follows:<br \/><b>Further refactoring of the Facelets application<\/b><br \/>The use of includes can then be taken to the next level with the actual pages that use the template using <i>ui:include<\/i> calls as well. To do this you would put the content to be displayed in individual xhtml files. In this case, each file was placed under a subdirectory named content.<br \/><img decoding=\"async\" alt=\"\" height=\"256\" src=\"https:\/\/lh5.googleusercontent.com\/-DNmNYECDvgg\/U8vd5z8Sh7I\/AAAAAAAAAjY\/vd3nuEY-lYU\/w189-h256-no\/files.gif\" width=\"189\" style=\" border: 1px solid black;\"><br \/>The pages in the<i> content <\/i>folder simply contain the meaty information to be displayed by each page.<br \/><b>content\u00001name.xhtml<\/b><br \/><b>content\u00002birthday.xhtml<\/b><br \/><b>content\u00003summary.xhtml<\/b><br \/>From there, each of the pages that extend the layout.xhtml template use the ui:include tag to reference the corresponding snippet.<br \/><b>step01_name.xhtml<\/b><br \/><b>step02_birthday.xhtml<\/b><br \/><b>step03_completed.xhtml<\/b><br \/>Here&#8217;s how the three pages that comprise the final product look:<br clear=\"all\"> &nbsp;<br \/><img decoding=\"async\" alt=\"\" height=\"144\" src=\"https:\/\/lh4.googleusercontent.com\/-8znIy7IVoBw\/U8vd57xay2I\/AAAAAAAAAjY\/CAiDzc_Pjiw\/w622-h156-no\/allpages.gif\" width=\"576\" style=\" border: 1px solid black;\"><br \/><b>Conclusion<\/b><br \/>As you can see, there is a certain degree of indirection here which can make learning Facelets a little bit confusing. But that indirection becomes a godsend when creating complex applications, because complex logic can be factored out into individual files. In the end, the extra work and greater abstraction makes developing enterprise applications significantly easier.<br \/> What is your favorite Java based template engine?<span class=\"Apple-converted-space\">&nbsp;<\/span><a href=\"\/cdn-cgi\/l\/email-protection#debdb3bdb5bbb0a4b7bb9eaabbbdb6aabfacb9bbaaf0bdb1b3\" style=\" border: 0px; font-size: 12px; margin: {margin-top=0, margin-right=0, margin-bottom=0, margin-left=0}; outline: 0px; padding: {padding-top=0, padding-right=0, padding-bottom=0, padding-left=0}; vertical-align: baseline; text-decoration: underline; color: rgb(46, 94, 141); background: {background-image=null, background-repeat=repeat, background-attachment=scroll, background-position=null};\">Let us know.<\/a><br \/> You can follow Cameron McKenzie on Twitter:<span class=\"Apple-converted-space\">&nbsp;<\/span><a href=\"https:\/\/twitter.com\/potemcam\" style=\" border: 0px; font-size: 12px; margin: {margin-top=0, margin-right=0, margin-bottom=0, margin-left=0}; outline: 0px; padding: {padding-top=0, padding-right=0, padding-bottom=0, padding-left=0}; vertical-align: baseline; text-decoration: underline; color: rgb(46, 94, 141); background: {background-image=null, background-repeat=repeat, background-attachment=scroll, background-position=null};\">@potemcam<\/a><br \/>&nbsp;<br \/>&nbsp;<br \/>&nbsp;<br \/>While plenty of developers entertain the idea of adopting a functional programming model, it&#8217;s important to first know exactly &#8230;<br \/>In this primer on SOLID, we&#8217;ll examine the five principles this development ideology embodies, the practices they encourage and &#8230;<br \/>Every software project proposal requires in-depth research into the technical aspects at play, but the business case for the &#8230;<br \/>Using open source software raises concerns about security and intellectual property. Here&#8217;s how to make sound decisions and avoid&#8230;<br \/>Apache JMeter and other load-testing tools can be used with Kubernetes to conduct stress tests to see how well an app performs in&#8230;<br \/>APIs are how applications connect to a database, partner servers and integrated applications. Testing their efficacy is an &#8230;<br \/>Open source PaaS is a good option for developers who want control over application hosting and simplified app deployment, but not&#8230;<br \/>AWS, Google, IBM and Microsoft offer machine learning certifications that can further your career. Learn what to expect from each&#8230;<br \/>Cloud readiness, storage costs, network lag and metrics can make or break the choice to move data, applications and workloads to &#8230;<br \/>Communication is critical to an effective incident response plan. Here are five best practices for communication planning and a &#8230;<br \/>Cyberattacks are more varied and numerous than ever. Learn the key signs of common security incidents and how to respond to keep &#8230;<br \/>Volexity reported the vulnerabilities to Ivanti after discovering that suspected Chinese nation-state threat actors created an &#8230;<br \/>Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates &#8230;<br \/>There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service &#8230;<br \/>AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See &#8230;<br \/>All Rights Reserved, <span> \t\t\t<a href=\"https:\/\/www.theserverside.com\/about\/copyright\">Copyright 2000 &#8211; 2024<\/a>, TechTarget<\/span><\/p>\n<p> \t\t\t\t<span> \t\t\t\t\t<a href=\"https:\/\/www.techtarget.com\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">Privacy Policy<\/a> \t\t\t\t<\/span>                 <br \/> \t\t\t\t<span id=\"cPref\" > \t\t\t\t\t<a href=\"#\" onclick=\"if (!window.__cfRLUnblockHandlers) return false; window._sp_.gdpr.loadPrivacyManagerModal(215250,'purposes')\" data-cf-modified-40dd41e9ce6b0be8ec873963-=\"\">Cookie Preferences <\/a>                     <br \/> \t\t\t\t<\/span> \t\t\t\t<span id=\"cPrefCCPA\" style=\"display:none\"> \t\t\t\t\t<a href=\"#\" onclick=\"if (!window.__cfRLUnblockHandlers) return false; window._sp_.ccpa.loadPrivacyManagerModal('5e00fe1dba7c9b15e30e0384')\" data-cf-modified-40dd41e9ce6b0be8ec873963-=\"\">Cookie Preferences <\/a>                     <br \/> \t\t\t\t<\/span> \t\t\t\t<span> \t\t\t\t\t<a href=\"https:\/\/techtarget.zendesk.com\/hc\/en-us\/requests\/new?ticket_form_id=360004852434\">Do Not Sell or Share My Personal Information<\/a><\/span> \t\t\t\t<\/p>\n<p><a href=\"https:\/\/news.google.com\/rss\/articles\/CBMibGh0dHBzOi8vd3d3LnRoZXNlcnZlcnNpZGUuY29tL3R1dG9yaWFsL1RlbXBsYXRlLWJhc2VkLXdlYi1kZXNpZ24td2l0aC1KU0YtRmFjZWxldHMtdWlpbnNlcnQtdmVyc3VzLXVpaW5jbHVkZdIBAA?oc=5\">source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In these tutorials on template based webpage development with JSF 2.x and Facelets, we&#8217;ve kept the basic layout page pretty simple. We have defined the various page elements with the ui:insert tag, and then within those tags, we&#8217;ve simply spit out a word like Heading or Footer or Messages, right there inside the layout.xhtml page&#8230;<\/p>\n","protected":false},"author":1,"featured_media":11354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[70],"class_list":["post-11353","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-design","tag-designer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.1 (Yoast SEO v22.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide - 4tuneagencia.digital<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide\" \/>\n<meta property=\"og:description\" content=\"In these tutorials on template based webpage development with JSF 2.x and Facelets, we&#8217;ve kept the basic layout page pretty simple. We have defined the various page elements with the ui:insert tag, and then within those tags, we&#8217;ve simply spit out a word like Heading or Footer or Messages, right there inside the layout.xhtml page...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\" \/>\n<meta property=\"og:site_name\" content=\"4tuneagencia.digital\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-15T13:30:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lh5.googleusercontent.com\/-raHUSQ37M1g\/U8r4ZeQjMzI\/AAAAAAAAAh8\/os14vekNSig\/w350-h261-no\/template.gif\" \/>\n<meta name=\"author\" content=\"4tune\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"4tune\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\"},\"author\":{\"name\":\"4tune\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/7c40d2e8b9964c2390122613459c2100\"},\"headline\":\"Template based web design with JSF Facelets: ui:insert versus ui:include &#8211; TheServerSide\",\"datePublished\":\"2024-01-15T13:30:12+00:00\",\"dateModified\":\"2024-01-15T13:30:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\"},\"wordCount\":863,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png\",\"keywords\":[\"Designer\"],\"articleSection\":[\"Design\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\",\"url\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\",\"name\":\"Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide - 4tuneagencia.digital\",\"isPartOf\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png\",\"datePublished\":\"2024-01-15T13:30:12+00:00\",\"dateModified\":\"2024-01-15T13:30:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage\",\"url\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png\",\"contentUrl\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png\",\"width\":379,\"height\":201},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/4tuneagencia.digital\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Template based web design with JSF Facelets: ui:insert versus ui:include &#8211; TheServerSide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#website\",\"url\":\"https:\/\/4tuneagencia.digital\/blog\/\",\"name\":\"4tuneagencia.digital\",\"description\":\"Marketing e Web Designer \",\"publisher\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/4tuneagencia.digital\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#organization\",\"name\":\"4tuneagencia.digital\",\"url\":\"https:\/\/4tuneagencia.digital\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2023\/09\/novo-logo-e1694954525541.png\",\"contentUrl\":\"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2023\/09\/novo-logo-e1694954525541.png\",\"width\":250,\"height\":250,\"caption\":\"4tuneagencia.digital\"},\"image\":{\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/7c40d2e8b9964c2390122613459c2100\",\"name\":\"4tune\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e81e8ea0176022ee4555117aee5e3092bff2a7aaa930134f8023c7d4bc2f1495?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e81e8ea0176022ee4555117aee5e3092bff2a7aaa930134f8023c7d4bc2f1495?s=96&d=mm&r=g\",\"caption\":\"4tune\"},\"sameAs\":[\"http:\/\/4tuneagencia.digital\"],\"url\":\"https:\/\/4tuneagencia.digital\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide - 4tuneagencia.digital","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/","og_locale":"pt_BR","og_type":"article","og_title":"Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide","og_description":"In these tutorials on template based webpage development with JSF 2.x and Facelets, we&#8217;ve kept the basic layout page pretty simple. We have defined the various page elements with the ui:insert tag, and then within those tags, we&#8217;ve simply spit out a word like Heading or Footer or Messages, right there inside the layout.xhtml page...","og_url":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/","og_site_name":"4tuneagencia.digital","article_published_time":"2024-01-15T13:30:12+00:00","og_image":[{"url":"https:\/\/lh5.googleusercontent.com\/-raHUSQ37M1g\/U8r4ZeQjMzI\/AAAAAAAAAh8\/os14vekNSig\/w350-h261-no\/template.gif"}],"author":"4tune","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"4tune","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#article","isPartOf":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/"},"author":{"name":"4tune","@id":"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/7c40d2e8b9964c2390122613459c2100"},"headline":"Template based web design with JSF Facelets: ui:insert versus ui:include &#8211; TheServerSide","datePublished":"2024-01-15T13:30:12+00:00","dateModified":"2024-01-15T13:30:12+00:00","mainEntityOfPage":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/"},"wordCount":863,"commentCount":0,"publisher":{"@id":"https:\/\/4tuneagencia.digital\/blog\/#organization"},"image":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage"},"thumbnailUrl":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png","keywords":["Designer"],"articleSection":["Design"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/","url":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/","name":"Template based web design with JSF Facelets: ui:insert versus ui:include - TheServerSide - 4tuneagencia.digital","isPartOf":{"@id":"https:\/\/4tuneagencia.digital\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage"},"image":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage"},"thumbnailUrl":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png","datePublished":"2024-01-15T13:30:12+00:00","dateModified":"2024-01-15T13:30:12+00:00","breadcrumb":{"@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#primaryimage","url":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png","contentUrl":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png","width":379,"height":201},{"@type":"BreadcrumbList","@id":"https:\/\/4tuneagencia.digital\/blog\/template-based-web-design-with-jsf-facelets-uiinsert-versus-uiinclude-theserverside\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/4tuneagencia.digital\/blog\/"},{"@type":"ListItem","position":2,"name":"Template based web design with JSF Facelets: ui:insert versus ui:include &#8211; TheServerSide"}]},{"@type":"WebSite","@id":"https:\/\/4tuneagencia.digital\/blog\/#website","url":"https:\/\/4tuneagencia.digital\/blog\/","name":"4tuneagencia.digital","description":"Marketing e Web Designer ","publisher":{"@id":"https:\/\/4tuneagencia.digital\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/4tuneagencia.digital\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/4tuneagencia.digital\/blog\/#organization","name":"4tuneagencia.digital","url":"https:\/\/4tuneagencia.digital\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2023\/09\/novo-logo-e1694954525541.png","contentUrl":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2023\/09\/novo-logo-e1694954525541.png","width":250,"height":250,"caption":"4tuneagencia.digital"},"image":{"@id":"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/7c40d2e8b9964c2390122613459c2100","name":"4tune","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/4tuneagencia.digital\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e81e8ea0176022ee4555117aee5e3092bff2a7aaa930134f8023c7d4bc2f1495?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e81e8ea0176022ee4555117aee5e3092bff2a7aaa930134f8023c7d4bc2f1495?s=96&d=mm&r=g","caption":"4tune"},"sameAs":["http:\/\/4tuneagencia.digital"],"url":"https:\/\/4tuneagencia.digital\/blog\/author\/admin\/"}]}},"jetpack_featured_media_url":"https:\/\/4tuneagencia.digital\/blog\/wp-content\/uploads\/2024\/01\/wp-header-logo-198.png","_links":{"self":[{"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/posts\/11353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/comments?post=11353"}],"version-history":[{"count":0,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/posts\/11353\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/media\/11354"}],"wp:attachment":[{"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/media?parent=11353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/categories?post=11353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/4tuneagencia.digital\/blog\/wp-json\/wp\/v2\/tags?post=11353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}