Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ajax返回列表并在jsp页面上创建列表_Java_Jquery_Ajax_Jsp_Jstl - Fatal编程技术网

Java 从ajax返回列表并在jsp页面上创建列表

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

我试图在页面加载时向用户显示一个列表。 当页面加载时,我使用AJAX调用数据库并返回DTO列表。在控制器中,我将DTO列表设置到模型中,在JSP页面上,我尝试通过JSTL循环访问列表值

这是我的密码

ajax-->

控制器-->

@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>