Я выполняю поиск в стеке и в Интернете и не могу найти ответ на мою проблему.
Я пытаюсь отобразить ArrayList из ejb на страницу jsp с помощью сервлета.Я использую mysql-connector-java-5.1.22-bin, а не jdbc.Мне удается получить данные из базы данных, но сервлет не может отправить этот ArrayList на страницу jsp.Вы можете помочь?Я перепробовал много проверок, и, похоже, проблема в том, что я получаю arraylist в сервлете .. Я, вероятно, плохо его называю ..
Вот мой код:
accessBean:
public class accessBean implements accesCatalogueBeanRemote, accesCatalogueBeanLocal {
public List getLivresList() {
String flightQuery = "SELECT p FROM produit p";
Query q = em.createQuery(flightQuery);
List existing = q.getResultList();
return existing;
}
}
Мой сервлет:
@WebServlet("/servlet")
public class servlet_produit extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(true);
List list = null;
//Connexion JNDI (annuaire pour localiser l'EJB)
try{
final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
final String appName = "BktEAR";
final String moduleName = "Commands";
final String beanName = "JNDI";
final String viewClassName = accesCatalogueBeanRemote.class.getName();
accesCatalogueBeanRemote remote = (accesCatalogueBeanRemote)
context.lookup("ejb:"+appName+"/"+moduleName+"/"+
beanName+"!"+viewClassName);
list = remote.getLivresList();
}
catch (Exception e) {
e.printStackTrace();
}
session.setAttribute("books", list);
response.sendRedirect("product.jsp");
}
}
И место, где я называю сервлет на моей странице jsp:
<c:forEach items="${books}" var="list">
<tr>
<td>ok : ${list.id}</td>
<td><c:out value="${list.name}" /></td>
<td><c:out value="${list.description}" /></td>
<td><fmt:formatNumber value="${list.price}" type="currency" /></td>
</tr>
</c:forEach>
Заранее спасибо.