Java 从ajax返回列表并在jsp页面上创建列表
我试图在页面加载时向用户显示一个列表。 当页面加载时,我使用AJAX调用数据库并返回DTO列表。在控制器中,我将DTO列表设置到模型中,在JSP页面上,我尝试通过JSTL循环访问列表值 这是我的密码 ajax--> 控制器-->Java 从ajax返回列表并在jsp页面上创建列表,java,jquery,ajax,jsp,jstl,Java,Jquery,Ajax,Jsp,Jstl,我试图在页面加载时向用户显示一个列表。 当页面加载时,我使用AJAX调用数据库并返回DTO列表。在控制器中,我将DTO列表设置到模型中,在JSP页面上,我尝试通过JSTL循环访问列表值 这是我的密码 ajax--> 控制器--> @RequestMapping(value=“/loadInterests”,method=RequestMethod.GET) 公共利益列表(模型1) { 字符串Email=((UserDetailsTo)SecurityContextHolder.getContex
@RequestMapping(value=“/loadInterests”,method=RequestMethod.GET)
公共利益列表(模型1)
{
字符串Email=((UserDetailsTo)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
长id=((UserDetailsTo)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId();
System.out.println(“+Email+“kkk”+id”);
List interests=userService.loadInterests(电子邮件,id);
System.out.println(“控制器输出”);
for(int i=0;i
jsp-->
代码不起作用。每次尝试加载页面时,它都会引发NullPointerException类型的异常
java.io.IOException:jspeexception在计算主体时
请帮助。NPE指向哪里?这个位置的代码行是什么?在org.apache.jsp.WEB_002dINF.jsp.progressbox.center2_jsp.\u jspx_meth_c_forEach_0(center2_jsp.java:218)我猜您得到了NPE,因为
interests
为空,并且您显式调用size()
。如果要迭代整个集合,则无需设置begin
和end
。但是,您不能期望能够在JSP中呈现服务返回的JSON。服务返回JSON,如果你想“呈现”它,你需要使用javascript。你能告诉我怎么做吗?
$(document).ready(function() {
$.ajax({
url : 'loadInterests',
dataType : "json",
type : "GET",
success: function (response)
{
}
,
error: function (response)
{
}
});
});
@RequestMapping(value="/loadInterests", method = RequestMethod.GET)
public List<InterestsDto> loadInterests( Model model1)
{
String Email = ((UserDetailsDto)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUsername();
long id = ((UserDetailsDto)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId();
System.out.println(" " +Email+ " kkk " +id);
List<InterestsDto> interests = userService.loadInterests(Email ,id);
System.out.println("controller out ");
for(int i =0 ; i < interests.size(); i++)
{
System.out.println( "id == " +interests.get(i).getName());
System.out.println( "value == " +interests.get(i).getId());
}
model1.addAttribute("interests", interests);
return interests;
}
<div class="talentBoxMain">
<c:forEach var="i" begin="0" end="${interests.size()}" items="${interests}">
<br>
<div class="talentBox10 addTalentBox">
<div class="media"> <a href="#" class="pull-left">
<img alt="..." src="resources/img/talent-singing.jpg" class="media-object img-rounded"></a>
<div class="media-body">
<h5 class="pull-left"><a href="#"><c:out value="${i}"/>${i.getName()}</a></h5>
<a class="btn btn-info btn-sm pull-right addBtn" href="#"><span class="glyphicon glyphicon-plus"></span> Add</a> </div>
</div>
</div>
</c:forEach>