J2html GitHub
Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không? Show
Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không? Trình tạo Java sang HTML. Tận hưởng thế hệ HTML typesafe Trang web dự án là j2html. com Bắt đầuThêm phụ thuộc maven<dependency> <groupId>com.j2htmlgroupId> <artifactId>j2htmlartifactId> <version>1.6.0version> dependency> Hoặc sự phụ thuộc lớp
Nhập TagCreator và bắt đầu xây dựng HTMLimport static j2html.TagCreator.*; public class Main { public static void main(String[] args) { body( h1("Hello, World!"), img().withSrc("/img/hello.png") ).render(); } } Java ở trên sẽ dẫn đến HTML sau <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body> Tìm thêm ví dụ tại http. //j2html. com/ví dụ. html Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không? Như đã nêu trong README, Mục tiêu của Dự án này là tận hưởng việc tạo HTML hiệu quả, an toàn về kiểu chữ trong Java Để ngăn chặn hồi quy hiệu suất, có các bài kiểm tra Phong cách mã hóaCó một <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>4 và một <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>5 Điều nổi bật là cuối dòng đó là CRLF <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>6 cho Dự án này Điều này có nghĩa là nếu bạn đang sử dụng Linux <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>7, bạn phải định cấu hình git để xử lý việc này một cách chính xác để bạn có đúng EOL trong thư mục làm việc của mình và EOL cũng chính xác trong chính kho lưu trữ Với mục đích này, j2html có tệp <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>8 Hướng dẫn cấu hình EOL với git Nếu bạn đang dùng Windows, sẽ không có vấn đề gì Định dạng lại mã Java được tạoVì Dự án này sử dụng các kỹ thuật Tạo mã để tạo API an toàn hơn mà không cần thực hiện quá nhiều công việc thủ công, nên có thư mục <body> <h1>Hello, World!h1> <img src="/img/hello.png"> body>9 chứa mọi thứ cần thiết để tạo mã Để đơn giản (và cũng để tránh phụ thuộc thêm), họ không định dạng mã chính xác Vì vậy, nếu bạn thay đổi Mã tạo mã, bạn có thể cần phải định dạng lại các tệp được tạo để phù hợp với Kiểu viết mã quy trình đóng gópQuy trình công việc (hầu hết thời gian) bao gồm
Kiến trúc dự ánthư viện/src/main/java/j2html/TagCreator. javaĐây là lớp trung tâm trong J2HTML. Nó cung cấp các phương thức cho người dùng J2HTML để tạo tất cả các Thẻ HTML. Nó chứa các phương thức như
có thể được sử dụng trong Dự án sử dụng phụ thuộc này như
Các Thẻ HTML khác nhau được triển khai như thế nào?Mỗi Thẻ HTML có lớp riêng, giúp mỗi Thẻ có các Thuộc tính và Phương thức chính xác để đặt các Thuộc tính đó Các lớp được đặt tại 0 và tuân theo quy ước đặt tên 1, e. g. 2. Lưu ý rằng chữ cái đầu tiên của Tag được viết hoaMỗi giao diện lớp 3 dành riêng cho Thẻ tương ứng với các Thuộc tính có thể được đặt trên các Thẻ nàyĐể tham khảo Thẻ nào hỗ trợ Thuộc tính nào, hãy xem Tham chiếu thuộc tính HTML Ví dụ: 4 có thể triển khai 5 cho biết nó có thể có Thuộc tính 6, thuộc tính này sau đó có thể hiển thị như 7Các thuộc tính của thẻ HTML được triển khai như thế nào?Mỗi Thuộc tính có giao diện riêng trong 8 và tuân theo quy ước đặt tên 9, e. g. 60. Lưu ý rằng chữ cái đầu tiên của Thuộc tính được viết hoaMổ xẻ 60 6Như bạn có thể thấy, IAccept mở rộng 62 chỉ cung cấp Phương thức 63 để truy cập một thể hiện của loại 64. Tất cả các giao diện dành riêng cho thuộc tính mở rộng 62import static j2html.TagCreator.*; public class Main { public static void main(String[] args) { body( h1("Hello, World!"), img().withSrc("/img/hello.png") ).render(); } }3 62 đang gian lận hệ thống loại vì 63 trả về một thể hiện của loại 64, nhưng về mặt kỹ thuật, lớp triển khai không phải cung cấp loại của chính nó làm đối số loại. Nhưng theo quy ước, trong Dự án này, lớp triển khai luôn cung cấp kiểu của chính nó làm đối số kiểuNhưng trong các phương thức 69 trong giao diện, AFAIK không có cách nào để có được loại lớp đang triển khai giao diện. Nếu bạn tìm ra cách, đó sẽ là một PR tuyệt vờiCác lớp/giao diện đặc biệt ngoài TagCreator. javaCó 3 lớp chứa các phương thức tạo mã trong import static j2html.TagCreator.*; public class Main { public static void main(String[] args) { body( h1("Hello, World!"), img().withSrc("/img/hello.png") ).render(); } }30
Các lớp/giao diện đặc biệt khác trong J2HTML
Việc tạo Mã cho các Giao diện cụ thể của Thuộc tính được tham số hóa như thế nào?Các thuộc tính khác nhau về 'loại' của chúng. Một số trong số chúng có thể được đặt bằng số (được chuyển đổi thành chuỗi trong html). Những cái khác chỉ có thể được đặt hoặc không được đặt, những cái khác vẫn có 3 trạng thái. đặt, bỏ đặt và không có mặt. Để mô hình hóa các quyền thích hợp này, một Thuộc tính duy nhất có thể được mô tả bằng một phiên bản của AttrD. java import static j2html.TagCreator.*; public class Main { public static void main(String[] args) { body( h1("Hello, World!"), img().withSrc("/img/hello.png") ).render(); } }35 chứa các Thuộc tính khác nhau, thuộc tính của chúng và Thẻ mà chúng có thể được đặt trên. Đây là điểm bắt đầu để thêm Thuộc tính mới và tùy chỉnh thuộc tính của chúng |