JavaWeb 学习008-今日问题(非空验证尚未解决) 2016-12-2

1.

学生模块list页面 不能正常跳转

 

说是找不到stuid属性,但是我在entity里面和数据库建表的属性就是stuid;Grade模块代码一样,却可以正常运行

这是什么问题?

  <c:forEach items="slist" var="student">

         <tr>

            <td>${student.stuid}</td>

            <td>${student.stuname}</td>

            <td>

              <a href="">查看</a>

              <a href="">修改</a>

              <a href="">删除</a>

            </td>

         </tr>

       </c:forEach>

疑问①

  For循环里的var属性是 每次进入循环取到的对象,但是这个对象是从哪里取得呢?是在哪里声明student对象呢?

通过items属性的key拿到。

已解决

For循环里,的items属性是从servlet里拿到的key,这个值必须用EL表达式写,然后通过这个key拿到var属性的对象,这就是上面问题的答案

2.

非空验证的问题       这个问题还没有解决

Servlet里的代码  是这样写的:

Jsp页面代码是这样写的:

但是运行结果不能实现非空验证的功能..

疑问①

  应该是两条setAttribute  语句的问题,不能写两条交互语句  ,但是添加了条件判断后还是不可以,先实现其他功能,回去再考虑如何正确的实现  非空验证

3.

隐藏主键时候的name属性有用吗?可以不写吗?

 

①   不写stuname的name属性,不能完成修改操作,返回空白

②   不写stuid的name属性,报错,500.

这两个属性是servlet传值给页面时候的参数,如果不写,则不能找到对应的地方将值传进去。所以是一定要写的。

4.

多表关联查询的问题:

 

代码有错吗?回去检查下。

前提是:之前建表的时候,没有在stu表中添加grade的列,

多表关联查询:我记得是,建立关系模型图的时候,由①-—>多

然后就是,建立表空间。这意思就是说即使是我,把原来的stu表删除后,再重新建立一个属性和原来一样,只是增加了一列的话,应该可以运行。不会出错。

但是现在提示  STUDENT GID 标识符无效,是怎么回事?

思路:

①  是说stu表中的gid列无效的意思吧?

 

但是我通过gid属性查询,可以正确执行

②   关联查询的代码出问题了?

 

这个问题需要验证,回去找书看一看,再来解答

==========================================================================================

原文地址:https://www.cnblogs.com/never-z123/p/6130676.html