cms-详细信息页面设计
思路:点击主页面然后查询详细信信,把查询出来的数据放大modelandvie里面,然后返回前台,然后在跳转页面取出来显示;
代码:
mapper:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.open1111.dao.ArticleDao">

<resultMap type="Article" id="ArticleResult">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="publishDate" column="publishDate"/>
<result property="content" column="content"/>
<result property="summary" column="summary"/>
<result property="titleColor" column="titleColor"/>
<result property="click" column="click"/>
<result property="isRecommend" column="isRecommend"/>
<result property="isSlide" column="isSlide"/>
<result property="keyWords" column="keyWords"/>

<association property="arcType" column="typeId" select="com.open1111.dao.ArcTypeDao.findById"></association>
</resultMap>

<select id="getNewest" resultMap="ArticleResult">
select * from t_article order by publishDate desc limit 0,7
</select>

<select id="getRecommend" resultMap="ArticleResult">
select * from t_article where isRecommend=1 order by publishDate desc limit 0,7
</select>

<select id="getSlide" resultMap="ArticleResult">
select * from t_article where isSlide=1 order by publishDate desc limit 0,5
</select>

<select id="getIndex" parameterType="Integer" resultMap="ArticleResult">
select * from t_article where typeId=#{typeId} order by publishDate desc limit 0,8
</select>

<select id="findById" parameterType="Integer" resultMap="ArticleResult">
select * from t_article where id=#{id}
</select>

</mapper>

dao:
package com.open1111.dao;

import java.util.List;

import com.open1111.entity.Article;

/**
* 帖子Dao接口
* @author user
*
*/
public interface ArticleDao {

/**
* 获取最新的7条帖子
* @return
*/
public List<Article> getNewest();

/**
* 获取最新7条推荐的帖子
* @return
*/
public List<Article> getRecommend();

/**
* 获取最新5条幻灯的帖子
* @return
*/
public List<Article> getSlide();

/**
* 根据帖子类别来查找最新的8条数据
* @param typeId
* @return
*/
public List<Article> getIndex(Integer typeId);

/**
* 通过id查询帖子
* @param id
* @return
*/
public Article findById(Integer id);
}

service:
package com.open1111.service;

import java.util.List;

import com.open1111.entity.Article;

/**
* 帖子Service接口
* @author user
*
*/
public interface ArticleService {

/**
* 获取最新的7条帖子
* @return
*/
public List<Article> getNewest();

/**
* 获取最新7条推荐的帖子
* @return
*/
public List<Article> getRecommend();

/**
* 获取最新5条幻灯的帖子
* @return
*/
public List<Article> getSlide();

/**
* 根据帖子类别来查找最新的8条数据
* @param typeId
* @return
*/
public List<Article> getIndex(Integer typeId);

/**
* 通过id查询帖子
* @param id
* @return
*/
public Article findById(Integer id);
}

serviceImpl:

package com.open1111.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.open1111.dao.ArticleDao;
import com.open1111.entity.Article;
import com.open1111.service.ArticleService;

/**
* 帖子Service实现类
* @author user
*
*/
@Service("articleService")
public class ArticleServiceImpl implements ArticleService{

@Resource
private ArticleDao articleDao;

public List<Article> getNewest() {
return articleDao.getNewest();
}

public List<Article> getRecommend() {
return articleDao.getRecommend();
}

public List<Article> getSlide() {
return articleDao.getSlide();
}

public List<Article> getIndex(Integer typeId) {
return articleDao.getIndex(typeId);
}

public Article findById(Integer id) {
return articleDao.findById(id);
}

}

controller:package com.open1111.controller;

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.Article;
import com.open1111.service.ArticleService;

/**
* 帖子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);
mav.addObject("article", article);
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>Open1111官方网站 -南通小锋网络科技有限公司</title>
<META NAME="Author" CONTENT="Java1234_小锋老师">
<meta name="keywords"
content="Java内容管理系统,JavaCMS,Java开源,Java爬虫,JavaSEO,Java CMS" />
<meta name="description"
content="Open1111专注于研发Java建站,Java爬虫,JavaSEO教程.传授广大学员用Java技术来实现互联网资源的搬运,整合汇聚互联网资源建站,顺便获取一些搬运费补贴家用." />
<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="left">
<DIV style="width: 330px; height: 228px;" class="tuhuo">
<A href="" target="_blank"><IMG
style="width: 330px; height: 208px;" id="fou_img" src=""></A>

<c:forEach var="article" items="${slideArticleList }">
<A
href="${pageContext.request.contextPath}/article/${article.id}.html">
<IMG style="display: none;" class="tu_img"
src="${pageContext.request.contextPath}/static/userImages/${article.slideImage}"
width="330" height="208" />
</A>
</c:forEach>

<c:forEach var="article" items="${slideArticleList }">
<P style="height: 20px;" class="tc">
<A
href="${pageContext.request.contextPath}/article/${article.id}.html"
target="_blank" title="${article.title }">${fn:substring(article.title,0,18) }</A>
</P>
</c:forEach>

<UL>
<LI class="fouce">1</LI>
<LI>2</LI>
<LI>3</LI>
<LI>4</LI>
<LI>5</LI>
</UL>
</DIV>

</div>

<div class="middle">

<div class="data_list">
<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 }">[<fmt:formatDate
value="${article.publishDate }" pattern="MM-dd" />]&nbsp;&nbsp;<font
color="${article.titleColor }">${fn:substring(article.title,0,20) }</font></a></li>
</c:forEach>
</ul>
</div>
</div>

</div>

<div class="right">
<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>
</div>

<c:forEach var="subIndexArticleList" items="${allIndexArticleList }" varStatus="allStatus">
<c:if test="${allStatus.index%3==0 }">
<div class="w960 article_row">
</c:if>

<c:forEach var="indexArticle" items="${subIndexArticleList}" varStatus="oneStatus">
<c:if test="${oneStatus.first }">
<c:choose>
<c:when test="${allStatus.index%3==0 }">
<div class="data_list article_list">
</c:when>
<c:otherwise>
<div class="data_list article_list" style="margin-left: 12px">
</c:otherwise>
</c:choose>
<div class="dataHeader">
${arcTypeList.get(allStatus.index).typeName}<span class="more"><a href="${pageContext.request.contextPath}/arcType/${arcTypeList.get(allStatus.index).id}.html">更多...</a></span>
</div>
<div class="datas">
<ul>
</c:if>
<li>[<fmt:formatDate value="${indexArticle.publishDate }" pattern="MM-dd" />]&nbsp;&nbsp;<a target="_blank" href="${pageContext.request.contextPath}/article/${indexArticle.id }.html"
title="${indexArticle.title }"><font color="${indexArticle.titleColor }">${fn:substring(indexArticle.title,0,18) }</font></a></li>
<c:if test="${oneStatus.last }">
</ul>
</div>
</div>
</c:if>

</c:forEach>

<c:if test="${allStatus.index%3==2 || allStatus.last}">
</div>
</c:if>
</c:forEach>

</div>

<jsp:include page="/common/link.jsp"></jsp:include>

<jsp:include page="/common/foot.jsp"></jsp:include>
</body>
<script type="text/javascript">
var auto;
var index = 0;
$('.tuhuo ul li').hover(function() {
clearTimeout(auto);
index = $(this).index();
move(index);
}, function() {
auto = setTimeout('autogo(' + index + ')', 3000);
});

function autogo() {
if (index < 3) {
move(index);
index++;
} else {
index = 0;
move(index);
index++;
}
}
function move(l) {
var src = $('.tu_img').eq(index).attr('src');
$("#fou_img").css({
"opacity" : "0"
});
$('#fou_img').attr('src', src);
$('#fou_img').stop(true).animate({
opacity : '1'
}, 1000);
$('.tuhuo ul li').removeClass('fouce');
$('.tuhuo ul li').eq(index).addClass('fouce');
$('.tuhuo p').hide();
$('.tuhuo p').eq(index).show();
var ao = $('.tuhuo p').eq(index).children('a').attr('href');
$('#fou_img').parent('a').attr("href", ao);
}
autogo();
setInterval('autogo()', 3000);
</script>

</html>

目标页面:
<%@ 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="article_title"><h2><strong>${article.title }</strong></h2></div>
<div class="article_content">
${article.content }
</div>
</div>

<div class="pRight">
</div>
</div>
</div>

<jsp:include page="/common/foot.jsp"></jsp:include>
</body>
</html>

cms-详细页面-1的更多相关文章

  1. magento在产品详细页面添加分享链接的方法

    1,在产品详细页面的对用位置加入一下代码 <div class="sharethis_box">          <?php echo $this->ge ...

  2. ios 类似的效果淘宝商品详细页面

    今天试着写ios 分类似影响淘宝的商品详细页面 我使用第三方库EGORefreshTableHeaderView有一个下拉效果刷新PWLoadMoreTableFooterView上拉电阻负载许多其他 ...

  3. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口

    5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...

  4. 帝国CMS自定义页面的添加与目录式链接的处理

    需求: 1.将某一本地前端自定义页面模板,导入到帝国系统,应用到网站 2.将导入的页面在站点中打开为目录式链接 www.abc.com/softlink/ 环境: 1.windows服务器 2.帝国C ...

  5. 通过SPList Definition自定义ListItem打开编辑详细页面

    在SharePoint中对列表SPList的操作里,常常希望当增加一个条目后还希望关联做一些其它的操作 而SharePoint自身提供的Item操作页面却没有那么灵活:所以通常情况下,我们专门为其提供 ...

  6. zencart产品详细页面调用数据库显示tags标签

      给商品信息页面添加一些tag关键词标签有利于谷歌的收录,也有利于关键词的SEO,实现这个功能并不难.其实就是给zencart添加一个功能模块, 具体方法是: 1,在mudules目录下面新建一个以 ...

  7. 如何修改magento产品详细页面的栏目

    magento默认模板里面的产品信息页面的布局是以两栏带右侧栏显示的,那么如何修改为两栏带左侧栏或者三栏.一栏的方式显示呢?下面教大家一种很简单的方法就可以实现.下面是默认的布局预览:

  8. *ecsho 的商品详细页面上获取该商品的一级分类ID及NAME

    1.打开goods.php并找到 $smarty->assign('goods', $goods); 在它上面增加以下代码 $cat_arr = get_parent_cats($goods[' ...

  9. ECSHOP在商品详细页面上获取该商品的顶级分类id和名称

    在 goods.php 文件, 找到 $smarty->assign('goods', $goods); 在它上面增加下面代码: 方法一: $cat_arr = get_parent_cats( ...

  10. IOS开发---菜鸟学习之路--(十)-实现新闻详细信息浏览页面

    前面已经将了上下拉刷新 实现了上下拉刷新后我们的第一级界面就做好,接下来我们就需要实现 新闻详细信息浏览了 我个人认为一般实现新闻详细页面的方法有两种(主要是数据源的不同导致了方法的不同) 第一种是本 ...

随机推荐

  1. WPF的TextBox产生内存泄露的情况

    前段时间参与了一个WPF编写的项目,在该项目中有这样一个场景:在程序运行过程中需要动态地产生大量文本信息,并追加WPF界面上的一个TextBox的Text中进行显示.编写完之后,运行该项目的程序,发现 ...

  2. 常用转义字符例如&amp;的含义

    &amp中的amp就是英文ampersand的缩写,该词的意思是&这个符号& 是 HTML 中 & 的表示方法.即在html中用&表示&符号

  3. SQL数据库操作整理

    1.规范 ①关键字与函数名称全部大写: ②数据库名称.表名称.字段名称全部小写: ③SQL语句必须以分号结尾. 2.数据库操作 // 1. 创建数据库,其中[]表示可以省略 CREATE { DATA ...

  4. 我的省选 Day -14

    Day -14 07:43:27 到机房了,不知道早上要做什么题,要不去选一题NOI原题来试试水好了 (因为NOI的原题质量比较有保证吧..) 09:11:22 正在做NOI2016的网格 开始写自己 ...

  5. CTS/APIO2019游记

    退役后游记... 这次是真·游记了 ghj1222自从省选翻车后心情一直不错 5.12 (CTS 报到) 没去thupc(话说都不知道thupc这时候举行),于是就这天从衡水出发了 翻来覆去睡不着觉, ...

  6. EOS概念理解总结

    本文参考EOS版本:v1.1.1 一.EOS投票相关 //用户投票1.不能自己代理自己,但可以自己给自己投票; 2.投票的生产节点名称不能重复;3.投票人设置了投票代理人后自己不能再投票;4.投票人需 ...

  7. HDU2048 神、上帝以及老天爷

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2048 看书发现了这道题,刚开始没理解题意,以为是中奖的概率,---> 1/n 后来知道了是典型的错排 ...

  8. 关于STL库中的max min swap

    嗯...   不得不说c++中的STL库是一个神奇的东西   可以使你的代码显得更加简洁....   今天就只讲STL中的三个鬼畜:   max       min       swap   具体操作 ...

  9. P2066 机器分配 (DP+DP输出)

    题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15,N≤10.分 ...

  10. Poj 2096 (dp求期望 入门)

    / dp求期望的题. 题意:一个软件有s个子系统,会产生n种bug. 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中. 求找到所有的n种bug,且每个子系统都找到bug,这样所要 ...