当前课程知识点:软件开发实训--动态网站开发 > 11 内容管理实现 > 11.5内容添加、编辑控制器实现 > 11.5.1内容添加、编辑控制器实现
同学你好
欢迎回到软件开发实训课堂
上节课咱们实现了内容的模板定义
但是为了保存数据
我们还需要有一个控制器
我们在controller这个包上点击右键
选择新建Java类
然后累名叫content controller
然后给它加上一个注解controller
这样就能作为控制器来进行处理了
把它导进来
首先我们用get请求已获得我们的表单
它有两个路径
一个是edit content
另一个是带参数的
edit content
带上cid
然后方法名就叫i date
方法所需要的参数来自于路径cid
因为我们有两个路径
根据我们前面的经验的话
name给它加上
并且加一个required的等于false
它的类型为整形
为了给页面传递数据
我们需要一个model对象
导入需要的包括注解
现在我们就可以去定义我们的内容了
如果说cid等于空
那就是新建
既然是新建
我们就新增一个内容对象
如果cid不为空
我们就去查询相关的对象
这里我们需要content service对象
来进行查询
content survice对象
我们可以使用auto wired注解
让spring注入我们需要的对象
这样我们就查询到他了
然后把我们的结果放在model对象中
最后返回母版页
当我们编辑完成后
我们需要把数据存储
存储我们使用postmapping
路径为save content
这个一定要和模板对应
方法名我们就叫做save就可以了
它返回的接收的第一个对象是
content
为了向界面传数据
我们还需要model
再一个我们验证它标题不能为空
所以我们必须要验证
bunding result
把验证结果处理一下
现在我们来储存我们的对象
保存完成后
我们返回我们的编辑页面
这个时候不管是新增还是编辑
他的ID已经有了
所以我们直接传个ID就可以了
我们将控制器就做好了
现在我们打开浏览器
来看一下我们的结果
首先我们登录输入账号信息
输入我们的编辑路径
然后填写表单
好
我们来看一下
这里的错误是说我们的对象引用了一个
没有被存储的临时对象
这是因为谁
因为我们的类型引起的
所以我们在这里把类型给他处理一下
我们先来看一下数据库中类型都有哪些
有一个tid为9的
我们在这里直接实例化一个
后边因为我们需要把它处理一下
这里先单独的借用他的
ID给它固定上
以测试我们的内容
现在我们再次打开浏览器
刷新我们的页面
重新登录
输入我们的网址
好
我们虽然设了
但是并没有把它加到我们的对象上去
是不对的
需要加一下
好
刷新界面
我们每次改完了以后
他都需要重启一下
来加载新的类
所以我们每次也要重新登录一下我们的
系统
添加
这里没有反应了
是因为我们已经添加成功了
通过地址就可以看到我们确实添加成功了
好
我们给它加上提示信息
这个时候因为我们已经用redirect
转向走了
那么在这里加提示信息
model的提示信息是无法传递给模板的
所以我们加一个对象
把model换掉
换成redirect
这样一个属性
这样我们就能把信息传递给模板
而且我们需要用到它的flash属性
这个flash属性
实际上它是存入到session
用完之后把它删掉了
好
我们这里填一个OK
写上
保存成功
现在我们打开界面
在我们的模板中加入一行
如果说OK存在
我们就把它显示出来
如果有OK把OK显示出来
alert给他样式
好
我们再次提交表单
修改类
重新登录
进入我们的表单
我们重新提交数据
我们来看一下数字格式
这是我们输入错误内容了
我们把这个内容给它改过来
这里面没有有关数字的信息
那么得去实体里边去找一下
看一下实体的定义是不是错了
content string
好
这个错误我们来看一下它
对这个说明就是说content
要进行转换时发生了错误
我们把他的名字给他改一下
我们先把表删掉
然后我们改掉实体中content
在改界面中的content
它主要把这个内容转换成整型
而且它说这个字符串无法转换成
content对象
那么我们来看一下
是不是因为这个名字和我们的实体的名称
重复了
好
我们登录
我们重新发布一下
因为我们已经改过了
可是他并没有起作用
重新启动
先构建
构建完成后
我们再次去运行它
启动完成后我们重新进入系统
我们先把主页的链接给它加上
省得我们每次都要去输入
很麻烦
我们的地址edit content
内容添加
我们这样点击一下
就进来了
这个错误是因为我们改了实体里的属性
可是我们没有改它的 方法
这 方法一定要把它也改过来
名称上一定要对应
因为他只加 或者
把第一个字母转换成大写后执行的操作
进入界面后我们来重新提交
保存成功
保存成功后加第二条
注意把内容改成字符串
保存成功
这样我们就把这个内容的添加编辑以及
它的控制器
做完了
下去以后一定要去练习
把它实现一遍
好
有关内容的控制器我们就讲到这里
下节课我们再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试