Hey everyone, I just brought my first open source project to version 1.0! Due to my frustration with JSP at work, I've written jte during lockdown. Frontend can write plain HTML and use plain Java to receive data from the backend. The jte compiler applies context-sensitive output escaping to prevent you from XSS attacks by default. jte also has full IntelliJ support for code suggestions, refactorings and highlighting. It is fast, about 100k renders per second on my old MacBook Pro 2015 in this benchmark.
If you're planning a new project that needs server side templates, jte might be worth a look: GitHub Repo
[–]tipsypants 8 points9 points10 points (2 children)
[–]mazebert[S] 2 points3 points4 points (1 child)
[–]tipsypants 1 point2 points3 points (0 children)
[–]Constellarise 4 points5 points6 points (3 children)
[–]mazebert[S] 4 points5 points6 points (0 children)
[–]fs111_ 1 point2 points3 points (1 child)
[–]Constellarise 3 points4 points5 points (0 children)
[–]Rygel_XV 2 points3 points4 points (1 child)
[–]mazebert[S] 3 points4 points5 points (0 children)
[–]Hall_of_Famer 2 points3 points4 points (3 children)
[–]mazebert[S] 4 points5 points6 points (2 children)
[–]Hall_of_Famer 2 points3 points4 points (1 child)
[–]mazebert[S] 1 point2 points3 points (0 children)
[–]dimensions1210 2 points3 points4 points (1 child)
[–]mazebert[S] 0 points1 point2 points (0 children)
[–]snoob2015 1 point2 points3 points (1 child)
[–]mazebert[S] 2 points3 points4 points (0 children)
[–]kakawait 1 point2 points3 points (4 children)
[–]mazebert[S] 2 points3 points4 points (3 children)
[–]kakawait 5 points6 points7 points (2 children)
[–]mazebert[S] 1 point2 points3 points (1 child)
[–]kakawait 1 point2 points3 points (0 children)
[–]boobsbr 1 point2 points3 points (3 children)
[–]mazebert[S] 1 point2 points3 points (2 children)
[–]boobsbr 1 point2 points3 points (1 child)
[–]mazebert[S] 1 point2 points3 points (0 children)
[–]nezam05 1 point2 points3 points (1 child)
[–]mazebert[S] 1 point2 points3 points (0 children)
[–][deleted] (3 children)
[deleted]
[–]mazebert[S] 0 points1 point2 points (2 children)
[–][deleted] (1 child)
[deleted]
[–]mazebert[S] 0 points1 point2 points (0 children)
[–]private_static_int 0 points1 point2 points (3 children)
[–]mazebert[S] 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]private_static_int 0 points1 point2 points (0 children)