用JSP做后台管理系统
添加新闻
/**
* 获取从页面读取的数据
* @param request
* @return 单个新闻信息
* @throws UnsupportedEncodingException
*/
private News getNews(HttpServletRequest request) throws UnsupportedEncodingException {
request.setCharacterEncoding("UTF-8");
//读取用户选择的是哪一个主题ID
String id = request.getParameter("topic");
//把值转换为Int类型 传给 Topic实体类
Topic topic = new Topic(Integer.parseInt(id));
//标题
String title = request.getParameter("title");
//作者
String author = request.getParameter("author");
//摘要
String summary = request.getParameter("summary");
//内容
String ncontent = request.getParameter("ncontent");
News news = new News(topic,title,author,summary,ncontent);
return news;
}
/**
* 添加新闻
*/
public void addNews(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean b = ndi.addNews(getNews(request));
if( b){
selectNews(request, response);
}else{
request.setAttribute("errorInfo", "新闻添加失败!");
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
下面详细说为什么获取错了。
第一步:
我先手动从数据库往表中添加数据,结果发现可以。但是不能执行。
第二步:
我修改了要添加进news实体类中的值,改为了字符串而并非是页面的内容,结果上面显示说,有FK约束。还是不能执行。
第三步:
终于知道错误所在了,好开心。然后就把我之前建错的外键约束给改了。
t_news : id ==t_topic : id ---> t_news : tid == t_topic : id
因为我把两个表中的主键给关联一起了,所以就不能执行。改成新闻表中的主题ID列与主题表中的ID列相对应就可以了。结果发现还是不能执行。
第四步:
又跳转到页面上,发现我竟然没有给下拉菜单个名字!!
唉,真是粗心大意的我啊。然后想起了教员所谓的要让程序找到你的下拉框才能给值,于是就给了id。
这样应该就行了吧。结果还是不行。
第五步:
问了教员。他就看了一眼,说了句:
<%--想要获取select的value值,就需要给他一个名字。切记:用name而非id,ID是唯一的,适用于CSS,name利于后台获取 --%>
原来,不是id而是name啊。
<select name="topic">
<c:forEach items="${topicList}" var="topic">
<option value="${topic.id}" />${topic.tname}
</c:forEach>
</select>
这个项目终于能见睁开眼看世界了。看着自己创造出来的东西真心幸福。
最后告诫我一句,调试真的很重要,英语单词真的很重要,课外知识真的很重要。
用JSP做后台管理系统的更多相关文章
- [项目分享]JSP+Servlet+JDBC实现的云端汽修后台管理系统
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/chenlinSir/CloudDemo-servlet 难度等级:简单 基于JSP+Servlet+Jdbc的云端 ...
- java springmvc+bui+bootstrap后台管理系统搭建
先来说说bui,这个框架是阿里巴巴的一个前端团队研发的,能够用很少的代码快速搭建一个后台管理系统,很适做管理平台的开发, 之前用过类似这样的框架extjs,做个比较,这个框架实现功能比extjs的代码 ...
- 通用后台管理系统UI-AdminLTE:构造动态菜单栏
AdminLTE是一款基于bootstrap的后台管理系统的通用模板UI,它的样式美观且较为符合大多数后台管理系统的需求,典型的上|左右|下的布局形式.并且提供了一整套我们开发的时候可能用到的UI样式 ...
- 通用后台管理系统UI模板-AdminLTE简介及构造动态菜单栏
AdminLTE是一款基于bootstrap的后台管理系统的通用模板UI,它的样式美观且较为符合大多数后台管理系统的需求,典型的上|左右|下的布局形式.并且提供了一整套我们开发的时候可能用到的UI样式 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)
开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 任务调度系统界面 http: ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析
系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级
系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构
系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...
- 从零开始编写自己的C#框架(8)——后台管理系统功能设计
还是老规矩先吐下槽,在规范的开发过程中,这个时候应该是编写总体设计(概要设计)的时候,不过对于中小型项目来说,过于规范的遵守软件工程,编写太多文档也会拉长进度,一般会将它与详细设计合并到一起来处理,所 ...
随机推荐
- Linux学习笔记(7)-系统资源查看
监控系统资源:vmstat #vmstat [采样时间] [ 采样次数] 如:#vmstat 3 2 每3秒采样一次,总共采样2次 输出信息各字段解释 r 表示运行队列,如果运行队列多大表示CPU很繁 ...
- 使用Yeoman搭建 AngularJS 应用 (5) —— 让我们搭建一个网页应用
原文地址:http://yeoman.io/codelab/scaffold-app.html 基架 (Scaffolding) 在Yeoman中的意思是为基于你特殊的配置需求,为网站程序生成文件的工 ...
- Delphi XE5 android 蓝牙通讯传输
不多讲,直接上代码了. 代码来自网络 http://files.cnblogs.com/nywh2008/Bluetooth_LEDs_android.rar
- The 6th Zhejiang Provincial Collegiate Programming Contest->ProblemK:K-Nice
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3212 题意:构造出一个n*m的有k个上下左右的和等于中间数的小矩阵的任意矩 ...
- jmeter 响应结果分析二
转自:http://www.cnblogs.com/Carrie_Liang/archive/2008/11/10/1330997.html 前文再续,续接上一回.上一篇讲了如何利用Assertion ...
- 5.查找最小的k个元素(数组)
题目: 输入n个整数,输出其中最小的k个,例如输入1,2,3,4,5,6,7,8这8个数,则最小的4个是1,2,3,4(输出不要求有序) 解: 利用快速排序的partition,算导上求第k大数的思想 ...
- ORACLE 更新关联多张表
UPDATE T_XMLC_BILL_HEAD_BAK T1 SET (T1.SENDRECEIVEFLAG, T1.SENDRECEIVEOPERATOR, T1.SENDRECEIVEDATE, ...
- editplus的配置文件来支持sql语法高亮【转】
editplus默认是没有sql语法高亮的,原因是它的内部没有sql.stx的这样一个语法文件 我们自己在 EditPlus 的安装目录下面新建一个文件名为sql.stx,然后打开editplus ...
- profile工具
gprof callgrind vtune(待使用) ----time命令(待学习) ps -u <username> -H -opid,cmd strace
- 使用Mysql命令一次性备份多个数据库(所有数据库)
通过CMD命令窗口 1.找到Mysql的安装目录\mysql\BIN目录 2. 输入mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > ...