Листинг 9.31. Методы, которые возвращают тематические категории в виде массива и в виде списка в формате HTML (NetNewsBean.java)
public String[] getTopicsAsArray(){ if( newsM == null || !newsM.usable ) return null; return newsM.getTopics(); } // return available topics as a Select control with values // matching the index of the topics array public String getTopicsAsSelect(){ if( newsM == null ) return noDataStr ; StringBuffer sb = new StringBuffer(1000); if( newsM.usable ){ String[] topics = newsM.getTopics(); sb.append(" <select name=\"topics\" MULTIPLE size=\"3\"> \r\n"); for( int i = 0 ; i < topics.length ; i++ ){ sb.append("<option value=\""); sb.append( Integer.toString( i )); sb.append("\" > "); sb.append( topics[i] ); } sb.append("</select> \r\n"); } else { sb.append( dataSourceErr ); sb.append( newsM.lastErr ); } return sb.toString(); }
Метод getContentByKeyWord, показанный в листинге 9.32, контролирует выбор и формат заголовков, содержащих одно или несколько ключевых слов, введенных пользователем.