将数据从servlet javaEE发送到角度组件

问题描述 投票:0回答:1

是javaEE的初学者,我在FrontEnd中使用angular,而在BackEnd中使用javaEE。我想将数据从servlet发送到有角度的组件,我想知道我是否可以在servlet中包括什么指令,例如,我想将用户列表(utilisateurs)发送到angular组件进行处理,这是我的servlet代码。ps1:我在angular中使用模块HttpClient。ps2:我不使用Spring框架。

Test.java

package com.coors.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.octest.beans.Utilisateur;
import com.octest.dao.DaoFactory;
import com.octest.dao.UtilisateurDao;
import com.octest.dao.UtilisateurDaoImpl;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/test")
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
private UtilisateurDao utilisateurDao;
private DaoFactory daoFactory; 

public Test() {
    super();
}

@Override
public void init() throws ServletException {
    daoFactory=DaoFactory.getInstance();
    utilisateurDao=daoFactory.getUtilisateurDao();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.utilisateurDao.lister();//I  get the list of users

    //here what instruction ?????????????????????????????????????????
}

public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
}

}

angular web servlets java-ee
1个回答
0
投票

假设我正在调用此URL http://localhost:8080/StackOverflow/test,其中test是来自我的servlet的urlPattern。因此,当我在浏览器中发送此URL时,将触发doGet方法。在doGet中,我可以这样做:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<String> myList = new ArrayList<>();
    myList.add("a");
    myList.add("b");
    request.setAttribute("users", myList);
    request.getRequestDispatcher("second.jsp").forward(request, response);
}

我创建了一个列表,并在我要传递给现有页面second.jsp的属性用户中设置内容。

如果使用的是Maven,请将其包含在依赖项中,以便可以在second.jsp中使用jstl来查看内容。

https://mvnrepository.com/artifact/jstl/jstl/1.2

使用jstl,您可以使用$ {users}从属性“ users”中访问内容。

更多关于jstl here

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
My List Elements <br />
<c:forEach var="elem" items="${users}">
    <c:out value="${elem }" /><br />
</c:forEach>
</body>
</html>

通过这种方式,您可以将数据发送到页面并使用$ {parametername}进行访问。

© www.soinside.com 2019 - 2024. All rights reserved.