朋友。嗯,这是一个很长的问题,但根据杰克的说法,让我们分一杯羹。 在这个片段中 ++++++++++
<%
List<`enter code here`String> sugestao = request.getAttribute("sugestao");
Iterator it = sugestao.iterator();
while(it.hasNext()) {
out.print("<br> conceito:"+ it.next());
}
%>
我收到一条错误消息,指出存在类型不匹配,因此无法将对象转换为List。 “sugestao”来自一个servlet。 {...}
List<String> sugestao = listaConceitos.getListaConceitos(caminho);
request.setAttribute("sugestao", sugestao);
RequestDispatcher view = request
.getRequestDispatcher("SequenciaDosConceitos.jsp");
// passa para frente.
view.forward(request, response);}}
BTW:caminho是一条RDF路径。
我需要一些帮助来解决这个问题。我尝试了类型演员,但没有奏效......我需要一些提示?我迷失在爪哇海中!
答案 0 :(得分:2)
ServletRequest.getAttribute()
方法不支持泛型。改变行
List<String> sugestao = request.getAttribute("sugestao");
到
List<String> sugestao = (List<String>) request.getAttribute("sugestao");
显然,只有当sugestao
类型为List<String>
时才会有效。所以你的代码中应该有这样的东西:
List<String> sugestao = new ArrayList<String>();
// do stuff...
request.setAttribute("sugestao", sugestao);