簡體   English   中英

在HTML文件中使用Java變量

[英]Use Java variable in HTML File

我用Java制作了LoginServlet,它從數據庫獲取用戶名和密碼。 現在,我想在登錄后在我的網站上顯示用戶名。

Servlet代碼:公共類LoginServlet擴展了HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {

   String username = req.getParameter("username");
   String password = req.getParameter("password");

    Sql2o sql2o = DatabaseConnetcionProvider.getSql2oConnection();

    User user = UserDAO.findBenutzerByUsername(username, sql2o);


    if(user != null && user.getPassword().equals(password)){

        UserListe.getInstance().add(user);
        HttpSession session = req.getSession();
        session.setAttribute("user", user);
        resp.sendRedirect("/public/Home.html");
    } else {
        resp.sendRedirect("/public/Error.html");
    }

}

}

現在,我想在我的網站上顯示用戶名。

我希望你能幫幫我 :)

如果是JSP,則可以使用會話隱式對象

<%= ((User) session.getAttribute("user")).getUsername %>

您可以在Home.html中檢索值,如下所示

<script type="text/javascript">
    $(document).ready(function() {
          userName = "{{user}}";
          $("#yourFieldName").val(userName);            
    });
</script>
  1. 如果該頁面是靜態html頁面,則該靜態頁面無法處理servlet頁面范圍數據,請使用jsp或其他動態頁面進行處理,freemarker,速度合適。
  2. 在jsp中,可以使用EL Express顯示數據。格式為$ {sessionScope.user}。 您應該查看pageScope,requestScope,sessionScope,applicationScope概念。
  3. sendRedirect方法可能導致pageScope中的數據丟失,請選擇正確的范圍,然后使用redirect或Forward方法進行測試。
  4. 如果頁面是靜態頁面,請使用AJAX發送請求並處理數據,jQuery庫是經典的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM