package com.oa.action; import java.util.List; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import com.oa.base.BaseAction; import com.oa.constants.Constants; import com.oa.domain.Forum; import com.oa.domain.PageBean; import com.oa.domain.Topic; import com.oa.utils.QueryHelper; import com.opensymphony.xwork2.ActionContext; @Controller @Scope("prototype") public class ForumAction extends BaseAction<Forum>{ private static final long serialVersionUID = 1L; // ====================>>>用于过滤分页查询的参数<<<=================== /** * 0表示查看全部主题 * 1表示只查看精华帖 */ private int viewType = 0; /** * 默认排序(按最后更新时间排序,但所有置顶帖都在前面)</option> * 1/按最后更新时间排序</option> * 2/按主题发表时间排序</option> * 3/按回复数量排序</option> */ private int orderBy = 0; /** * true表示升序 * false表示降序 */ private boolean asc = false; // ====================>>>用于过滤分页查询的参数<<<=================== /** * 板块列表 * @return * @throws Exception */ public String list() throws Exception { List<Forum> forumList = forumService.findAll(); ActionContext.getContext().put("forumList", forumList); return "list"; } /** * 显示单个板块(主题列表) * @return * @throws Exception */ public String show() throws Exception { //准备数据:forum Forum forum = forumService.findById(model.getId()); ActionContext.getContext().put("forum", forum); //准备数据:分页信息 第四个版本 通过创建工具类 queryHelper替换拼接字符串 QueryHelper queryHelper = new QueryHelper(Topic.class,"t") // 过滤条件 .addCondition("t.forum = ?", forum) .addCondition((viewType == 1), "t.type = ?", Constants.TYPE_BEST)//1/表示只看精华帖 // 排序条件 .addOrderProperty((orderBy == 1), "t.lastUpdateTime", asc) .addOrderProperty((orderBy == 2), "t.postTime", asc) .addOrderProperty((orderBy == 3), "t.replyCount", asc) .addOrderProperty((orderBy == 0), "CASE t.type WHEN 2 THEN 2 ELSE 0 END", false) .addOrderProperty((orderBy == 0), "t.lastUpdateTime", false); PageBean pageBean = topicService.findPageBeanByQueryHelper(pageNum,pageSize,queryHelper); ActionContext.getContext().getValueStack().push(pageBean); return "show"; } // ====================>>>get和set方法<<<==================== public int getViewType() { return viewType; } public void setViewType(int viewType) { this.viewType = viewType; } public int getOrderBy() { return orderBy; } public void setOrderBy(int orderBy) { this.orderBy = orderBy; } public boolean isAsc() { return asc; } public void setAsc(boolean asc) { this.asc = asc; } }

xiaohuaidan455 LV2
2月21日
朱俪的邮件及存储 LV8
2023年4月28日
泓鼎168 LV20
2023年3月30日
wanglinddad LV55
2022年5月26日
529948627 LV6
2022年3月14日
蛇蛇皮怪 LV14
2022年3月8日
微信网友_5845420553359360 LV4
2022年2月25日
juanito8396 LV6
2021年12月20日
and123456 LV11
2021年5月11日
shiyujir LV7
2021年4月8日