{"id":27180041,"url":"https://github.com/hendisantika/spring-boot-jte1","last_synced_at":"2026-04-28T08:02:45.781Z","repository":{"id":286529709,"uuid":"961671856","full_name":"hendisantika/spring-boot-jte1","owner":"hendisantika","description":"Spring Boot JTE Sample","archived":false,"fork":false,"pushed_at":"2026-03-20T20:40:21.000Z","size":224,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-21T11:38:36.011Z","etag":null,"topics":["jte","spring-boot","template-engine"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hendisantika.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-07T01:22:03.000Z","updated_at":"2026-03-20T20:40:18.000Z","dependencies_parsed_at":"2025-06-22T23:23:10.264Z","dependency_job_id":"f1600e04-431f-4f51-a2f7-cd20f7d790d5","html_url":"https://github.com/hendisantika/spring-boot-jte1","commit_stats":null,"previous_names":["hendisantika/spring-boot-jte1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hendisantika/spring-boot-jte1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-jte1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-jte1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-jte1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-jte1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendisantika","download_url":"https://codeload.github.com/hendisantika/spring-boot-jte1/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-jte1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32371673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jte","spring-boot","template-engine"],"created_at":"2025-04-09T14:25:22.913Z","updated_at":"2026-04-28T08:02:45.775Z","avatar_url":"https://github.com/hendisantika.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot JTE\n\nA Java Template Engine is a tool that allows developers to generate HTML, XML or other text-based formats using\ntemplates. These templates are typically written in a mix of static text and dynamic placeholders, which are replaced\nwith actual data at runtime. Here are some key points about Java Template Engines:\n\n1. **Separation of Concerns**: They help in separating the presentation layer from the business logic, making the code\n   more maintainable and easier to understand.\n\n2. **Dynamic Content**: They allow the creation of dynamic web pages by embedding variables and control structures (like\n   loops and conditionals) within the templates.\n\n3. **Popular Java Template Engines**:\n   - **Thymeleaf**: A modern server-side Java template engine for web and standalone environments.\n   - **Freemarker**: A Java-based template engine focused on MVC frameworks.\n   - **Velocity**: An older template engine that is still in use for various applications.\n   - **JTE**: A compile-time checked template engine that ensures type safety and fast rendering.\n\n4. **Integration with Frameworks**: Most Java template engines integrate seamlessly with popular Java web frameworks\n   like Spring Boot, making it easy to use them in web applications.\n\n5. **Template Syntax**: Each template engine has its own syntax for defining templates. For example, JTE uses `@` for\n   directives and `${}` for variable interpolation.\n\n6. **Performance**: Some template engines, like JTE, focus on performance by compiling templates to Java code, which can\n   be faster than interpreting templates at runtime.\n\nHere is an example of how a template engine might be used in a Spring Boot application:\n\n```java\n\n@Controller\npublic class ExampleController {\n   @GetMapping(\"/example\")\n   public String example(Model model) {\n      model.addAttribute(\"message\", \"Hello, World!\");\n      return \"exampleTemplate\";\n   }\n}\n```\n\nAnd the corresponding template (`exampleTemplate.jte` for JTE):\n\n```unknown\n@template.layout.main(content = @`\n    \u003cdiv\u003e\n        \u003cp\u003e${message}\u003c/p\u003e\n    \u003c/div\u003e\n`)\n```\n\nIn this example, the `TemplateController` adds a message to the model, which is then rendered in the\n`exampleTemplate.jte` template. The placeholder `${message}` is replaced with the actual message at runtime.\n\n### Things todo list\n\n1. Clone this repository: `git clone https://github.com/hendisantika/spring-boot-jte1.git`\n2. Navigate to the folder: `cd spring-boot-jte1`\n3. Run the application: `mvn clean spring-boot:run`\n4. Open your favorite browser: http://localhost:8080/\n\n### Image Screen Shot\n\nHome Page\n\n![Home Page](img/home.png \"Home Page\")\n\nTeam Page\n\n![Team Page](img/team.png \"Team Page\")\n\nProject Page\n\n![Project Page](img/project.png \"Project Page\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendisantika%2Fspring-boot-jte1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendisantika%2Fspring-boot-jte1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendisantika%2Fspring-boot-jte1/lists"}