2014-10-02 48 views
0

我正在做一个小型的spring项目,当我尝试toi显示数据迭代resultList时,resultList被设置,foreach循环超过4次,因为有项目但是有一个例外,经过我意识到项目是retrive,但如果他们只是对象,而不是porper铸类class Result这个原因当我尝试调用getUrl()方法时(如果我打电话toString工作正常)任何帮助时chrash?spring <c:foreach isue jstl java

是这样的控制器

@RequestMapping(value = "/search", method = RequestMethod.GET) 
public ModelAndView home(ModelMap model,@RequestParam(required=false,value="") String name) { 

     List<Result> result = googleSearchService.doSearch(name); 
     modelAndView.addObject("resultList",result);//<- after debub list is full of Result items 
     return modelAndView; 
} 

是这样的视图

<c:forEach items="${resultList}" var="item"> 
      <li><c:out value="${item.getUrl()}"/></li> 
     </c:forEach> 

结果类是一个内部类:

public class GoogleResults { 


private ResponseData responseData; 

public ResponseData getResponseData() { 
    return responseData; 
} 

public void setResponseData(ResponseData responseData) { 
    this.responseData = responseData; 
} 

public String toString() { 
    return "ResponseData[" + responseData + "]"; 
} 



static class ResponseData { 

    private List<Result> results; 

    public List<Result> getResults() { 
     return results; 
    } 

    public void setResults(List<Result> results) { 
     this.results = results; 
    } 

    public String toString() { 
     return "Results[" + results + "]"; 
    } 
} 


static class Result { 

    public String url; 

    private String title; 

    public String getUrl() { 
     return url; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public void setUrl(String url) { 
     this.url = url; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 

    public String toString() { 
     return "Result[url:" + url + ",title:" + title + "]"; 
    } 
    } 
} 

跟踪:

ava.lang.NullPointerException javax.el.BeanELResolver.invoke(BeanELResolver.java:159) org.apache.jasper.el.JasperELResolver.invoke(JasperELResolver.java:147) org.apache.el.parser.AstValue.getValue(AstValue.java :157) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)

+0

使用的 2014-10-02 14:08:27

+0

有趣的是,我得到了javax.el.PropertyNotFoundException:Propiedad'url'no legible para el tipo com.leanupp.researcher.GoogleResults $结果 – Xenione 2014-10-02 14:14:00

+0

结果是一个静态内部类的一些问题呢? – Xenione 2014-10-02 14:14:35

回答

2

Result应该被标记为public