1. 程式人生 > >Java實現上一篇下一篇內容整理

Java實現上一篇下一篇內容整理

1、設定接收上一篇下一篇的實體物件

/**
 * 上一篇 下一篇的實體接收
 * @author sl
 * @since 2018-01-05
 */
public class PreAndNextEntity {
/**
* 上一篇或者下一篇的id
*/
private String id;
/**
* 上一篇或者下一篇的標題
*/
private String title;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}

}

2、根據所點選的一篇內容的id以及文章型別查詢,該型別的文章的上一篇及下一篇的PreAndNextEntity實體內容

/**

* 獲取上一篇的詳細資訊
* @return
* @throws BusinessMsgException 
*/
public PreAndNextEntity getPreEntity(String middleId,String type) throws BusinessMsgException{
log.info("詳細資訊頁面中上一篇顯示 start");
PreAndNextEntity pre = new PreAndNextEntity();
PinPaiZiXunData pd = new PinPaiZiXunData();
String preid = "";
List<PinPaiZiXunData> list = new ArrayList<PinPaiZiXunData>();
list = PinPaiZiXunService.findDataByType(type);
int count = list.size();
//所有該型別的id存放陣列
String [] strid = new String [count];
for(int i=0; i<count; i++){
strid[i] = list.get(i).getId();
}

for(int j=0; j<count; j++){
if(strid[j].equals(middleId)){
if(j != 0) preid = strid[j-1];
}
}
if("".equals(preid)){
pre.setId("");
pre.setTitle("沒有了");
}else{
pd = PinPaiZiXunService.findDataByID(preid);
pre.setId(preid);
pre.setTitle(pd.getTitlecn());
}
log.info("詳細資訊頁面中上一篇顯示 end");
return pre;
}

/**
* 獲取下一篇的詳細資訊
* @return
* @throws BusinessMsgException 
*/
public PreAndNextEntity getNextEntity(String middleId,String type) throws BusinessMsgException{
log.info("詳細資訊頁面中下一篇顯示 start");
PreAndNextEntity next = new PreAndNextEntity();
PinPaiZiXunData pd = new PinPaiZiXunData();
String nextid = "";
List<PinPaiZiXunData> list = new ArrayList<PinPaiZiXunData>();
list = PinPaiZiXunService.findDataByType(type);
int count = list.size();
//所有該型別的id存放陣列
String [] strid = new String [count];
for(int i=0; i<count; i++){
strid[i] = list.get(i).getId();
}

for(int j=0; j<count; j++){
if(strid[j].equals(middleId)){
if(j != count-1) nextid = strid[j+1];
}
}
if("".equals(nextid)){
next.setId("");
next.setTitle("沒有了");
}else{
pd = PinPaiZiXunService.findDataByID(nextid);
next.setId(nextid);
next.setTitle(pd.getTitlecn());
}
log.info("詳細資訊頁面中下一篇顯示 end");
return next;

}

3、上一篇及下一篇的id及title傳遞到前臺頁面,成功後返回前臺頁面

public String showDetail() throws BusinessMsgException{
data = PinPaiZiXunService.findDataByID(id);
PreAndNextEntity pre = getPreEntity(id, data.getType());//上一篇內容
PreAndNextEntity next = getNextEntity(id, data.getType());//下一篇內容
return SUCCESS;
}