Использовать переменную Java в файле HTML - PullRequest
0 голосов
/ 30 августа 2018

Я создал LoginServlet с Java, который получает имя пользователя и пароль из базы данных. Теперь я хочу отобразить имя пользователя на своем веб-сайте после входа в систему.

Код сервлета: открытый класс 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");
    }

}

}

Теперь я хочу отобразить имя пользователя на моем веб-сайте.

Надеюсь, вы мне поможете:)

Ответы [ 3 ]

0 голосов
/ 30 августа 2018

Вы можете получить значение в вашем Home.html, как показано ниже

<script type="text/javascript">
    $(document).ready(function() {
          userName = "{{user}}";
          $("#yourFieldName").val(userName);            
    });
</script>
0 голосов
/ 30 августа 2018
  1. если страница является статической html-страницей, статическая страница не может обрабатывать данные области страницы сервлета, использовать jsp или другую динамическую страницу для обработки, freemarker, подходящая скорость.
  2. в jsp вы можете использовать EL Express для отображения данных. Формат: $ {sessionScope.user}. Вы должны просмотреть концепцию pageScope, requestScope, sessionScope, applicationScope.
  3. Метод sendRedirect может привести к отсутствию данных в pageScope, вам следует выбрать правильную область и метод перенаправления или пересылки, протестируйте его, пожалуйста.
  4. если страница статическая, используйте AJAX для отправки запроса и обработки данных, библиотека jQuery классическая.
0 голосов
/ 30 августа 2018

В случае JSP вы можете использовать неявный объект сеанса

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