package cn.newgxu.bbs.web.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cn.newgxu.bbs.common.MessageList;
import cn.newgxu.bbs.common.exception.BBSException;
import cn.newgxu.bbs.common.exception.ValidationException;
import cn.newgxu.bbs.common.util.Util;
import cn.newgxu.bbs.service.ForumService;
import cn.newgxu.bbs.web.model.SearchModel;
/**
*
* @author 红叶狐
* @since 4.0.0
* @version $Revision 1.1$
*/
public class SearchAction extends AbstractBaseAction {
private static final long serialVersionUID = -9490143097665510L;
private static final Log log = LogFactory.getLog(TopicAction.class);
private ForumService forumService;
private SearchModel model = new SearchModel();
public String execute() throws Exception {
signOnlineUser("检索中心");
this.model.setAreas(this.forumService.getAreas());
return SUCCESS;
}
public String submit() throws Exception {
signOnlineUser("检索中心");
MessageList m = new MessageList();
try {
model.getPagination().setActionName(getActionName());
model.getPagination().setParamMap(getParameterMap());
forumService.search(model);
log.debug("检索完成!");
return SUCCESS;
} catch (ValidationException e) {
addValidateMsg(e.getMessage());
String result = execute();
return SUCCESS.equals(result) ? INPUT : result;
} catch (BBSException e) {
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
public Object getModel() {
return model;
}
public void setForumService(ForumService forumService) {
this.forumService = forumService;
}
}