2014-10-06 2 views
0

Это мой Java класс:пустота типа здесь не допускается в сервлет

public String year, title,detail; 
public League(String year,String title,String detail) 
{ 
    this.year=year; 
    this.title=title; 
    this.detail=detail; 
} 
public void getTitle() 
{ 
    System.out.println(""+year+""+title+""+detail+""); 
} 

Это мой сервлет:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
    //Creats the set of league 
    leagueList=new LinkedList(); 
    leagueList.add(new League("2003","Spring","Soccer League(Spring`03)")); 
    leagueList.add(new League("2003","Summer","Summer Soccer Fest")); 
    leagueList.add(new League("2003","Fall","Fall Soccer League")); 
    leagueList.add(new League("2004","Spring","Summer Soccer Fest")); 
    leagueList.add(new League("2004","Summer","Soccer League(Spring`03)")); 
    leagueList.add(new League("2004","Fall","Fall Soccer League")); 
} 

Это мой ProcessRequest метод()

out.println("<ul>"); 
     Iterator items=leagueList.iterator(); 
     while(items.hasNext()){ 
      out.println("<li>"+League.getTitle()+"</li>"); 
     } 
     out.println("</ul>"); 

Ошибка is: League.getTitle(); // недействительный тип не разрешен

ответ

1

Ошибка очень описательная. Вы возвращаете void или, другими словами, метод getTitle ничего не возвращает. Java не может соединить результат void (ничего) с String.

Изменение способа стать собственно геттер:

public String getTitle() { 
    return title; 
} 

Кроме того, не создают надлежащие методы геттер для других полей, а также:

//year field should be an int rather than a String 
public String getYear() { 
    return year; 
} 

public String getDetail() { 
    return detail; 
} 
+0

я следовать той же, но теперь она показывает, что «Non статический метод не может ссылаться на статическом контексте». когда я объявляю переменные-члены и функцию-член как статические, ничего не происходит. –

+0

@mukeshvishwas почему вы объявляете эти поля или методы 'static'? Это не хорошо. Пожалуйста, предоставьте свой точный код и то, что вы имеете в виду. –

+0

Я называю getter method отсюда: out.println ("

  • " + League.getTitle() + "
  • "); без статики, я не могу объявить, т.е. League.getTitle(); см. выше код –

    1

    getTitle() возвращает ничего (void) и вы пытаясь добавить это к String.

    Используйте это:

    public String getTitle() 
    { 
        return year + title + detail; 
    } 
    
    Смежные вопросы