cms-详细页面2
详细页面遗留下来的部分:
1:当前位置
2.分享
3.时间格式
4.摘要
5.关键字:
解决方案:
1:当前位置:---后台拼接
2:分享:前端一段js代码
3.摘要,直接数据库查询
4.时间格式:引用时间标签
5.关键字:后台拼接+一段js代码:
2.代码部分
2.1:拼接当前位置需要的util类:
package com.open1111.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* properties配置文件工具类
* @author user
*
*/
public class PropertiesUtil {
/**
* 根据key获取value
* @param key
* @return
*/
public static String getValue(String key){
Properties prop=new Properties();
InputStream in=new PropertiesUtil().getClass().getResourceAsStream("/open1111.properties");
try {
prop.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return prop.getProperty(key);
}
}
package com.open1111.util;
/**
* 导航工具类
* @author user
*
*/
public class NavUtil {
/**
* 生成帖子详细页导航
* @param typeName
* @param typeId
* @param articleTitle
* @return
*/
public static String genArticleNavigation(String typeName,Integer typeId,String articleTitle){
StringBuffer navCode=new StringBuffer();
navCode.append("当前位置: ");
navCode.append("<a href='"+PropertiesUtil.getValue("host")+"'>主页</a> > ");
navCode.append("<a href='"+PropertiesUtil.getValue("host")+"/arcType/"+typeId+".html'>"+typeName+"</a> > "+articleTitle);
return navCode.toString();
}
}
处理关键字用到的工具类:
package com.open1111.util;
import java.util.ArrayList;
import java.util.List;
/**
* 字符串工具类
* @author user
*
*/
public class StringUtil {
/**
* 判断是否不是空
* @param str
* @return
*/
public static boolean isNotEmpty(String str){
if(str!=null && !"".equals(str)){
return true;
}else{
return false;
}
}
/**
* 过滤掉集合中的空格元素
* @param list
* @return
*/
public static List<String> filterWhite(List<String> list){
List<String> resultList=new ArrayList<String>();
for(String l:list){
if(isNotEmpty(l)){
resultList.add(l);
}
}
return resultList;
}
}
controller:
package com.open1111.controller;
import java.util.Arrays;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.open1111.entity.ArcType;
import com.open1111.entity.Article;
import com.open1111.service.ArticleService;
import com.open1111.util.NavUtil;
import com.open1111.util.StringUtil;
/**
* 帖子Controller层
* @author user
*
*/
@Controller
@RequestMapping("/article")
public class ArticleController {
@Resource
private ArticleService articleService;
@RequestMapping("/{id}")
public ModelAndView details(@PathVariable("id") Integer id)throws Exception{
ModelAndView mav=new ModelAndView();
Article article=articleService.findById(id);
String keyWords=article.getKeyWords();
if(StringUtil.isNotEmpty(keyWords)){
String arr[]=keyWords.split(" ");
mav.addObject("keyWords", StringUtil.filterWhite(Arrays.asList(arr)));
}else{
mav.addObject("keyWords", null);
}
mav.addObject("article", article);
ArcType arcType=article.getArcType();
mav.addObject("navCode",NavUtil.genArticleNavigation(arcType.getTypeName(), arcType.getId(), article.getTitle()));
mav.setViewName("article");
return mav;
}
}
页面部分:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${article.title }_Open1111官方网站 -南通小锋网络科技有限公司</title>
<META NAME="Author" CONTENT="Java1234_小锋老师">
<meta name="keywords"
content="${article.keyWords }" />
<meta name="description"
content="${article.summary }" />
<link rel="stylesheet"
href="${pageContext.request.contextPath}/static/css/open1111.css">
<script src="${pageContext.request.contextPath}/static/js/jQuery.js"></script>
</head>
<body>
<jsp:include page="/common/head.jsp"></jsp:include>
<jsp:include page="/common/menu.jsp"></jsp:include>
<div class="content">
<div class="w960">
<div class="pLeft">
<div class="data_list">
<div class="dataHeader navi">${navCode }</div>
<div class="article_title"><h2><strong>${article.title }</strong></h2></div>
<div class="share">
<div class="bshare-custom"><a title="分享到QQ空间" class="bshare-qzone"></a><a title="分享到新浪微博" class="bshare-sinaminiblog"></a><a title="分享到人人网" class="bshare-renren"></a><a title="分享到腾讯微博" class="bshare-qqmb"></a><a title="分享到网易微博" class="bshare-neteasemb"></a><a title="更多平台" class="bshare-more bshare-more-icon more-style-addthis"></a><span class="BSHARE_COUNT bshare-share-count">0</span></div><script type="text/javascript" charset="utf-8" src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=2&lang=zh"></script><script type="text/javascript" charset="utf-8" src="http://static.bshare.cn/b/bshareC0.js"></script>
</div>
<div class="article_info">
发布时间:『<fmt:formatDate value="${article.publishDate }" pattern="yyyy-MM-dd HH:mm" />』
帖子类别:『${article.arcType.typeName}』 阅读次数:${article.click}
</div>
<div class="article_summary">
${article.summary }
</div>
<div class="article_content">
${article.content }
</div>
<div class="article_keyWord">
<font><strong>关键字:</strong></font>
<c:choose>
<c:when test="${keyWords==null }">
无
</c:when>
<c:otherwise>
<c:forEach var="keyWord" items="${keyWords }">
<a href="http://zhannei.baidu.com/cse/search?q=${keyWord }&s=5738221493575509323&entry=1" target="_blank">${keyWord }</a>
</c:forEach>
</c:otherwise>
</c:choose>
</div>
</div>
</div>
<div class="pRight">
<div class="data_list">
<div class="dataHeader">站长推荐</div>
<div class="datas">
<ul>
<c:forEach var="article" items="${recommendArticleList }">
<li><a target="_blank"
href="${pageContext.request.contextPath}/article/${article.id}.html"
title="${article.title }"><font
color="${article.titleColor }">${fn:substring(article.title,0,16) }</font></a></li>
</c:forEach>
</ul>
</div>
</div>
<div class="data_list" style="margin-top: 10px;">
<div class="dataHeader">最近更新</div>
<div class="datas">
<ul>
<c:forEach var="article" items="${newestArticleList }">
<li><a target="_blank"
href="${pageContext.request.contextPath}/article/${article.id}.html"
title="${article.title }"><font
color="${article.titleColor }">${fn:substring(article.title,0,16) }</font></a></li>
</c:forEach>
</ul>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="/common/foot.jsp"></jsp:include>
</body>
</html>