JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

时间:2022-11-13 20:28:04

今天遇到的问题:

  1.

在list页面上添加信息时候,跳转到doAdd页面后,点击保存按钮,能够跳转回list页面,但是新增的信息不能显示出来,就像是没有执行添加操作一样。

这是什么问题?

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

①是不是到层面JDBC不能连接到数据库?

已验证不是这个原因

②在addGrade.jsp 页面跳转页面代码直接写成了doListGrade.action,直接跳到list页面,很显然还没有执行调用添加操作,故而不能显示出要添加的信息

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

此问题已解决

-------------------------------------------------------------------------------------

2.

查看操作时候,跳转页面,不能显示detail页面,报空指针,说这一句,提示 说 if条件报空指针,

String strGradeid = request.getParameter("gid");

int gradeid = 0;

if(!strGradeid.equals(""))

{

gradeid = Integer.parseInt(strGradeid);

}

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

①   是不是页面值传给servlet过程中,未能取到?  gid?

问题是:应该在list页面的a元素的href属性里,写加参数的跳转地址 :

<a href=”doDetail.action?gid=${grade.gid}”>

      这个写法,需要注意,是第一次遇到。a元素加参数,用?隔开参数,用=隔开value

已解决

-------------------------------------------------------------------------------------

3.

修改操作:不显示班级名称

<input type=”text” name=”gradename” value=”${grade.gname}”/>

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

这是哪里出的问题?

toUpdateGrade页面应该跟查看的servlet一样,都有值传被servlet,也有值传给面.

但是,我少写了这两条语句

---------------------------------------------------------------------------------------------

4.

修改操作:

点击  保存信息  按钮时候,NumberFormatException   就是格式转化不正确,是什么原因?

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。

Get.parameter  这句话的参数还没弄明白,这句话是 页面有值传给servlet吗? 所以,他的参数应该是页面上 input里设置的name属性。

这个问题是Gradeid  不匹配报的错.

那为什么 gradename-----gname可以运行呢?

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

----------------------------------------------------------------------------------------

5.

修改完名字后,为什么显示空白?

JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

解答:这个问题还是上个问题的延伸。刚才上面说了,为什么gradeid不匹配就会报错,而gradename不匹配的时候,就没有影响。

其实,不是没有影响,gradename不匹配的话,修改完之后,就是无法显示,显示空白。

----------------------------------------------------------------------------------------

6.

删除操作:

Get.parameter   必须是 gid,是你一开始设置的属性。

对于查看和修改操作中:

Get.paremeter   必须是<input/> 属性中,你设置的name属性。

查看操作只是通过id主键查找到name值,所以设置的input中设置的name属性,没有起到作用;

在修改中因为sql语句要确定通过主键修改name值,所以两个都要用到,而且还要隐藏主键(在updateGrade.jsp页面),这时候get.parameter 的参数必须和设置的属性值一样。

Name属性值不同,点击修改按钮,报500的错。

Id属性值不同,修改后,显示空白,修改的名字无法正常显示。