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>
cms-详细页面2的更多相关文章
- magento在产品详细页面添加分享链接的方法
1,在产品详细页面的对用位置加入一下代码 <div class="sharethis_box"> <?php echo $this->ge ...
- ios 类似的效果淘宝商品详细页面
今天试着写ios 分类似影响淘宝的商品详细页面 我使用第三方库EGORefreshTableHeaderView有一个下拉效果刷新PWLoadMoreTableFooterView上拉电阻负载许多其他 ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口
5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...
- 帝国CMS自定义页面的添加与目录式链接的处理
需求: 1.将某一本地前端自定义页面模板,导入到帝国系统,应用到网站 2.将导入的页面在站点中打开为目录式链接 www.abc.com/softlink/ 环境: 1.windows服务器 2.帝国C ...
- 通过SPList Definition自定义ListItem打开编辑详细页面
在SharePoint中对列表SPList的操作里,常常希望当增加一个条目后还希望关联做一些其它的操作 而SharePoint自身提供的Item操作页面却没有那么灵活:所以通常情况下,我们专门为其提供 ...
- zencart产品详细页面调用数据库显示tags标签
给商品信息页面添加一些tag关键词标签有利于谷歌的收录,也有利于关键词的SEO,实现这个功能并不难.其实就是给zencart添加一个功能模块, 具体方法是: 1,在mudules目录下面新建一个以 ...
- 如何修改magento产品详细页面的栏目
magento默认模板里面的产品信息页面的布局是以两栏带右侧栏显示的,那么如何修改为两栏带左侧栏或者三栏.一栏的方式显示呢?下面教大家一种很简单的方法就可以实现.下面是默认的布局预览:
- *ecsho 的商品详细页面上获取该商品的一级分类ID及NAME
1.打开goods.php并找到 $smarty->assign('goods', $goods); 在它上面增加以下代码 $cat_arr = get_parent_cats($goods[' ...
- ECSHOP在商品详细页面上获取该商品的顶级分类id和名称
在 goods.php 文件, 找到 $smarty->assign('goods', $goods); 在它上面增加下面代码: 方法一: $cat_arr = get_parent_cats( ...
- IOS开发---菜鸟学习之路--(十)-实现新闻详细信息浏览页面
前面已经将了上下拉刷新 实现了上下拉刷新后我们的第一级界面就做好,接下来我们就需要实现 新闻详细信息浏览了 我个人认为一般实现新闻详细页面的方法有两种(主要是数据源的不同导致了方法的不同) 第一种是本 ...
随机推荐
- hdu1085
#include <iostream> #include <cstring> using namespace std; int n[3],a[9000],b[9000],i,j ...
- hdu1061
#include <iostream>#include <cstdio>using namespace std;int mod_exp(int a, int b, int c) ...
- swift中的类拓展 extension
以添加颜色为例,new 一个swift文件夹 不是cocoa类 也不需要继承什么. 然后 import UIKit protocol ColorDalegate{ class func mainCol ...
- windows配置换行符
CR.LF.CR/LF为不同操作系统上使用的换行符: Windows/DOS系统:采用CR/LF表示下一行: Unix/Linux系统:采用LF表示下一行: Mac OS系统:采用CR表示下一行: M ...
- Java实例——基于jsoup的简单爬虫实现(从智联获取工作信息)
这几天在学习Java解析xml,突然想到Dom能不能解析html,结果试了半天行不通,然后就去查了一些资料,发现很多人都在用Jsoup解析html文件,然后研究了一下,写了一个简单的实例,感觉还有很多 ...
- elasticsearch 基本介绍
1. Elasticsearch的适用场景: (1)类似百度百科的全文检索,高亮,搜索推荐(2)新闻类的搜索,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给 ...
- Docker 快速安装&搭建 Ngnix 环境,并配置反向代理
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Visual Studio 2017&C#打包应用程序详细教程,重写安装类获取安装路径
Visual Studio搞了个Click One,在线升级是方便了,但对于俺们这苦逼的业余程序猿就... 别着急,折腾一下,还是能做出打包安装程序的.请移步CSDN看smallbabylong的文章 ...
- jenkins+maven+Tomcat+shell构建自动化部署
https://yq.aliyun.com/articles/685931 1.官网下载war包:jenkins本质上就是一个web应用,直接下载jenkins的war包通过tomcat运行即可.ht ...
- require、require_once、include、include_once
在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容. include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码. include 和 requ ...