EE Servlet 3:在Servlet中生成HTML输出
如果您只需要在EE Web模塊中處理少量請求URI,則在Servlet代碼中生成自己HTML響應可能比使用完整的模板庫更容易。 作為示例的一部分,我嘗試了一個非常簡單的Java DSL,該Java DSL在編寫自己的Serlvet時生成html輸出。 代碼如下:
我寫了一個基本的HtmlWriterServlet類,該類提供了一種方法,您可以在其中獲取HtmlWriter構建器的實例。 包裝類似HTML的生成器的好處是,它更易于閱讀,并有助于生成正確的格式標簽。 例如,“ ul”和“ table”接受Java List或Map對象,并生成正確的html標簽。
這是另一個示例,我如何用幾行代碼生成Java System Properties頁面的表視圖:
package zemian.servlet3example.web;import java.io.IOException; import java.util.TreeMap; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;@WebServlet("/sys-props") public class SysPropsServlet extends HtmlWriterServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HtmlWriter html = createHtmlWriter(req, resp);TreeMap sysProps = new TreeMap(System.getProperties());html.header().h(1, "Java System Properties").table(sysProps).footer();} }簡單的HtmlWriter類提供了一些html生成器方法,它可以幫助生成帶有相對上下文路徑HTML鏈接。 您可以輕松地對其進行進一步改進,以幫助生成更多HTML代碼,例如表單標簽等。
另外,請注意,ServletResponse對象使您可以完全控制編寫自定義響應,因此,不僅限于重現HTML。 您可以編寫二進制輸出,例如PDF甚至MP3文件。 您只需要控制Response Writer以及將返回的正確的相應內容mime類型和大小即可。
- 您可以在servlet3-example中獲得這些代碼
翻譯自: https://www.javacodegeeks.com/2015/01/ee-serlvet-3-generating-html-output-in-servlet.html
總結
以上是生活随笔為你收集整理的EE Servlet 3:在Servlet中生成HTML输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux二进制文件转换文本(linux
- 下一篇: Java生态系统– 2014年我的5大亮