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; } }
最近下载更多
朱俪的邮件及存储 LV8
2023年4月28日
泓鼎168 LV19
2023年3月30日
wanglinddad LV53
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日
tttxin LV11
2020年9月21日
最近浏览更多
m5433661
昨天
暂无贡献等级
jay1992 LV14
3月16日
pangzhihui LV11
3月1日
氟西汀来救你 LV2
1月10日
WBelong LV6
2023年12月25日
季明亮
2023年11月21日
暂无贡献等级
fesfefe LV13
2023年10月30日
Weishenghui LV7
2023年10月20日
molu123456
2023年10月16日
暂无贡献等级
bananmike77
2023年10月7日
暂无贡献等级