2014-10-23 2 views
0

У меня проблема, которая должна быть прямой, и я явно делаю что-то неправильно. У меня есть простой сайт, написанный в Spring MVC. Моя модель JSP не знает мой класс NewItem ..Модель Spring MVC не знает моего класса

@RequestMapping(value = "/", method = RequestMethod.GET) 
public String newsFeed(Model model) {  
    try { 
     initDB(); 
    } catch (Exception e) {  
     e.printStackTrace(); 
    } 

    ScanRequest scanRequest = new ScanRequest() 
    .withTableName("Table1"); 
    ScanResult result = _database.get(scanRequest);   
    //This will just return a list with filled NewsItems from the database 
    List<NewsItem> list = getNewsItems(result.getItems());  
    model.addAttribute("newsList",list);   
    return "newsfeed"; 
} 

public class NewsItem {  
    private String url=""; 
    String getUrl(){ 
     return url; 
    } 
    void setUrl(String text) { 
     url = text; 
    } 
    private String title=""; 
    void setTitle(String text) { 
     title = text; 
     Image = text; 
    } 

    String getTitle(){ 
     return title; 
    } 
    String Description="";  
    String Image=""; 
    String Time=""; 
    String Since=""; 
} 

И когда им с помощью $ {newsList.getTile()} на стороне им JSP, получить javax.servlet.jsp.JspException: javax .el.MethodNotFoundException: Метод не найден: класс java.util.ArrayList.getTile() или java.lang.NumberFormatException: для строки ввода: .. когда Im пытается использовать , используйте $ {newsList.Image}. Кто-нибудь знает, что мне здесь не хватает?

материал, используемый в jsp. taglib uri = "http://tiles.apache.org/tags-tiles" prefix = "tiles" taglib prefix = "spring" uri = "http://www.springframework.org/tags" taglib uri = "http://java.sun.com/jsp/jstl/core" префикс = "C" страница импорт = "com.kiiak.tennman.NewsItem"

ответ

2

Вызов getTitle (примечание правописание) на NewsItem а не на самом List

<c:forEach var="newsItem" items="${newsList}"> 
    ${newsItem.title} 
</c:forEach> 
+0

Ответ на этот вопрос. –

+0

HI, thx для вашего андерсера. Теперь я получаю те же исключения, но исключение указывает на правильный класс, а не на ArrayList. Свойство «title» не найдено. Если im try getTitle() нет метода, найденного в классе com.x.y.NewsItem., Мне нужно зарегистрировать класс или присущий какой-то интерфейс, чтобы заставить его работать? – user3420056

+0

'getTitle' (и все остальные методы bean) должен быть' public' – Reimeus

Смежные вопросы