写帖子后台:

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>

<select id="getLastArticle" parameterType="Integer" resultMap="ArticleResult">
SELECT * FROM t_article WHERE id &lt; #{id} ORDER BY id DESC LIMIT 1;
</select>

<select id="getNextArticle" parameterType="Integer" resultMap="ArticleResult">
SELECT * FROM t_article WHERE id &gt; #{id} ORDER BY id ASC LIMIT 1;
</select>

<update id="update" parameterType="Article">
update t_article
<set>
<if test="click!=0">
click=#{click},
</if>
</set>
where id=#{id}
</update>

<select id="list" parameterType="Map" resultMap="ArticleResult">
select * from t_article
<where>
<if test="typeId!=null">
and typeId=#{typeId}
</if>
</where>
order by publishDate desc
<if test="start!=null and size!=null">
limit #{start},#{size}
</if>
</select>

<select id="getTotal" parameterType="Map" resultType="Long">
select count(*) from t_article
<where>
<if test="typeId!=null">
and typeId=#{typeId}
</if>
</where>
</select>

<insert id="add" parameterType="Article">
insert into t_article values(null,#{title},#{publishDate},#{content},#{summary},#{titleColor},#{click},#{isRecommend},#{isSlide},#{slideImage},#{arcType.id},#{keyWords})
</insert>

</mapper>

dao:

package com.open1111.dao;

import java.util.List;
import java.util.Map;

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);

/**
* 获取上一个帖子
* @param id
* @return
*/
public Article getLastArticle(Integer id);

/**
* 获取下一个帖子
* @param id
* @return
*/
public Article getNextArticle(Integer id);

/**
* 更新帖子
* @param article
* @return
*/
public Integer update(Article article);

/**
* 根据条件分页查询帖子
* @param map
* @return
*/
public List<Article> list(Map<String,Object> map);

/**
* 获取总记录数
* @param map
* @return
*/
public Long getTotal(Map<String,Object> map);

/**
* 添加帖子
* @param article
* @return
*/
public Integer add(Article article);
}

servcieImpl:

package com.open1111.service.impl;

import java.util.List;
import java.util.Map;

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);
}

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

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

public Integer update(Article article) {
return articleDao.update(article);
}

public List<Article> list(Map<String, Object> map) {
return articleDao.list(map);
}

public Long getTotal(Map<String, Object> map) {
return articleDao.getTotal(map);
}

public Integer add(Article article) {
return articleDao.add(article);
}

}

servcie:

package com.open1111.service;

import java.util.List;
import java.util.Map;

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);

/**
* 获取上一个帖子
* @param id
* @return
*/
public Article getLastArticle(Integer id);

/**
* 获取下一个帖子
* @param id
* @return
*/
public Article getNextArticle(Integer id);

/**
* 更新帖子
* @param article
* @return
*/
public Integer update(Article article);

/**
* 根据条件分页查询帖子
* @param map
* @return
*/
public List<Article> list(Map<String,Object> map);

/**
* 获取总记录数
* @param map
* @return
*/
public Long getTotal(Map<String,Object> map);

/**
* 添加帖子
* @param article
* @return
*/
public Integer add(Article article);
}

cintroller:

package com.open1111.controller.admin;

import java.util.Date;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.open1111.entity.Article;
import com.open1111.service.ArticleService;
import com.open1111.util.ResponseUtil;

/**
* 帖子后台管理Controller层
* @author user
*
*/
@Controller
@RequestMapping("/admin/article")
public class ArticleAdminController {

@Resource
private ArticleService articleService;

/**
* 添加或者修改帖子信息
* @param article
* @param response
* @return
* @throws Exception
*/
@RequestMapping("/save")
public String save(Article article,HttpServletResponse response)throws Exception{
int resultTotal=0; // 操作的记录条数
article.setPublishDate(new Date());
if(article.getId()==null){ // 添加
resultTotal=articleService.add(article);
}else{ // 修改

}
StringBuffer result=new StringBuffer();
if(resultTotal>0){
result.append("<script language='javascript'>alert('提交成功');</script>");
}else{
result.append("<script language='javascript'>alert('提交失败,请联系管理员');</script>");
}
ResponseUtil.write(response, result);
return null;
}
}

后台页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!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>写帖子页面</title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/icon.css">
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/locale/easyui-lang-zh_CN.js"></script>

<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/ueditor.all.min.js"> </script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/lang/zh-cn/zh-cn.js"></script>

<script type="text/javascript" src="${pageContext.request.contextPath}/static/colorPicker/js/jquery.bigcolorpicker.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/colorPicker/css/jquery.bigcolorpicker.css" type="text/css" />
<script type="text/javascript">

function checkChange(){
if(document.getElementById("isSlide").checked){
$("#hdtp").show();
}else{
$("#hdtp").hide();
}
}

function submitData(){
var title=$("#title").val();
var arcTypeId=$("#arcTypeId").combobox("getValue");
var summary=$("#summary").val();
var editor=UE.getEditor('editor').getContent();

if(title==null || title==''){
alert("请输入标题");
}else if(arcTypeId==null || arcTypeId==''){
alert("请选择帖子类别");
}else if(summary==null || summary==''){
alert("请输入摘要");
}else if(editor==null || editor==''){
alert("请输入内容");
}else{
$("#content").val(editor);
$("#fm").submit();
}

}

</script>
</head>
<body style="margin: 1px">
<div id="p" class="easyui-panel" title="编写帖子" style="padding: 5px">
<form id="fm" action="${pageContext.request.contextPath}/admin/article/save.do" method="post" enctype="multipart/form-data">
<table cellspacing="10px">
<tr>
<td width="80px">帖子标题:</td>
<td><input type="text" id="title" name="title" style="width: 400px"/></td>
</tr>
<tr>
<td>所属类别:</td>
<td>
<select class="easyui-combobox" style="width: 154px" id="arcTypeId" name="arcType.id" editable="false" panelHeight="auto">
<option value="">请选择帖子类别...</option>
<c:forEach var="arcType" items="${arcTypeList }">
<option value="${arcType.id }">${arcType.typeName }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>帖子属性:</td>
<td>
<input type="checkbox" id="isSlide" name="isSlide" onclick="checkChange()" value="1"/>幻灯帖子
<input type="checkbox" id="isRecommend" name="isRecommend" value="1"/>推荐帖子
</td>
</tr>
<tr id="hdtp" style="display: none;">
<td>幻灯图片:</td>
<td>
<input type="file" id="slideImageFile" name="slideImageFile"/>
</td>
</tr>
<tr>
<td valign="top">帖子摘要:</td>
<td>
<textarea rows="3" cols="40" id="summary" name="summary"></textarea>
</td>
</tr>
<tr>
<td valign="top">帖子内容:</td>
<td>
<script id="editor" type="text/plain" style="width:1000px;height:500px;"></script>
<input type="hidden" id="content" name="content"/>
</td>
</tr>
<tr>
<td>关键字:</td>
<td>
<input type="text" id="keyWords" name="keyWords" style="width: 300px"/>&nbsp;(多个关键字中间用空格隔开)
</td>
</tr>
<tr>
<td>标题颜色:</td>
<td>
<input type="text" id=titleColor name="titleColor"/><input id="bn" type="button" value="颜色"/>
</td>
</tr>
<tr>
<td></td>
<td>
<a href="javascript:submitData()" class="easyui-linkbutton" data-options="iconCls:'icon-submit'">发布帖子</a>
</td>
</tr>
</table>
</form>
</div>

<script type="text/javascript">
//实例化编辑器
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
var ue = UE.getEditor('editor');

// 实例化colorPicker
$("#bn").bigColorpicker("titleColor");
</script>
</body>
</html>

cms-写帖子内容实现的更多相关文章

  1. 帝国cms列表页内容简介字段smalltext去除里面html格式代码 设置方法

    帝国cms列表页内容简介字段smalltext去除里面html格式代码帝国cms列表页调用内容简介出现html代码怎么办 近来在用帝国cms的时候,发现一个问题,在列表页调用产品简介的时候出现了这种h ...

  2. django的CMS系统(内容管理系统)

    一.什么是CMS系统 CMS具有许多基于模板的优秀设计,可以减少开发的成本. CMS的功能并不只限于文本处理,它也可以处理图片.Flash动画.声像流.图像甚至电子邮件档案. CMS还分各个平台脚本种 ...

  3. 把要写的内容做个list,半年过去了

    先说点题外话,来国家气象局的第三周,今天出去和丁书记吃了个饭,基本在聊大学时候的人和事,好像都没怎么变,只是不联系的人愈发不会再联系. 抛开学校的课程不谈,半年做了三件事:CUMT校园导航 / Ope ...

  4. 待续未完- 自己写后台内容管理程序 - 用tp框架 和 前台 jquery ui等写的

    在日常开发中,我们主要使用的还是 php 的 内部的 语言本身提供的函数/常量,系统内部数组等. 为了和后面的tp框架提供的 "系统函数.系统常量"相区别,把php提供的东西叫语言 ...

  5. Python爬虫爬取贴吧的帖子内容

    最近在看一个大神的博客,从他那里学会了很多关于python爬虫的知识,其实python如果想用在实际应用中,你需要了解许多,比如正则表达式.引入库.过滤字段等等,下面不多说,我下面的程序是爬取Ubun ...

  6. python 用类方法和静态方法实现是追加写文件内容,和读指定行号的内容

    用类方法和静态方法实现:一个是追加写文件一行内容,一个是读指定行号的内容   #coding=utf-8   class handle_file(object):     def __init__(s ...

  7. java语言写文件内容

    import java.io.File;import java.io.FileWriter;import java.io.IOException; public static void main(St ...

  8. 如何在Sitecore CMS中打开内容编辑器

    在Sitecore中开发网站时,大多数项目管理都来自内容编辑器.创建,删除,修改,移动,发布,排序和查看项目只是可以在Content Editor界面中处理的众多任务中的一小部分. 由于内容编辑器对于 ...

  9. 帝国CMS如何禁止内容关键字替换ALT和title中的关键词为链接

    很多帝国cms用户喜欢使用关键字替换来实现文章自动内链的方法. 为什么要用关键词替换功能呢?这关系到站内优化,下面直接进入正题. 解决办法:打开e/class/functions.php 查找 '/' ...

随机推荐

  1. Codeforces - 1181B - Split a Number - 贪心

    https://codeforces.com/contest/1181/problem/B 从中间拆开然后用大数搞一波. 当时没想清楚奇偶是怎么弄,其实都可以,奇数长度字符串的中心就在len/2,偶数 ...

  2. DNS解析工具--nslookup和dig使用

    1.nslookup使用 [root@master ~]# nslookup> server 8.8.8.8    #指定域名服务器Default server: 8.8.8.8Address: ...

  3. 设计模式实战研磨 ——第1篇 UML环境搭建

    starUML是开源的基于统一模式语言与模式驱动开发的平台,前身是Plastic,从1996年开始开发.1998年开始,Plastic转变为UML建模工具.2005年改名为StarUML,最新版本St ...

  4. cmd与bat脚本的使用

    零. bat cmd 命令大全 bat命令大全学习 一..定位到当前路径 1.定位到当前路径 2.方法二 3.win10下面 通解: %windir%\system32\cmd.exe 二 .使用命令 ...

  5. Could not find iPhone X simulator

    Could not find iPhone X simulator Error: Could not find iPhone X simulator at resolve (/Users/zhouen ...

  6. php使用百度地图API

    首先注册百度开发者平台账号,创建应用获取AK 不同的应用功能不同,一定要注意,没有的功能调用会提示APP被禁用 根据开发文档使用 给出例子:百度地图WEB api http://lbsyun.baid ...

  7. js中函数提升及var变量提示

    其中,在javascript中,函数声明及var声明的变量会得到提升.但是函数声明会先于var声明的变量被提升.即便function写在后面. 看下面的例子: var aa = 221; functi ...

  8. Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子

    果然如Miracle学长所说...调了一天...qwq..还是过不了线下的Hack upd after 40min:刚刚过了 就是多了一个判无解的操作... 当系数都为0,且常数项不为0时,即为无解. ...

  9. Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维拼接求是否为k的倍数)

    题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:“234”和“123”拼接得到“234123” 分析: N <= 2e5,简单的暴力O(N^2)枚举肯定超时 ...

  10. 才知道 Windows Live Writer Source Code plugin for SyntaxHighlighter 更新到2.0了

    这是我用 Windows Live Writer 发布的第一篇文章! 在官方网站看到 Windows Live Writer Source Code plugin for SyntaxHighligh ...