jy02411368 2011-12-03 00:24
浏览 197
已采纳

J2SE基础思考题........菜鸟问题.....................

是这样的,闲来无事就随便写了一个例子,大概的结构如下

1.首先我有一张表 Person 这个表显示人员的信息。

2.其次,我在业务层判断这张表是否合法.其实就是判断表中是否有信息。

3.最后在Action当中根据业务层传来的结果负责转向。

然后我查询到了Person这张表,把所有数据装入了ArrayList里面,可是这时候在业务层我判断了ArrayList.size()是不是等于0,如果等于0的话就返回false,让Action跳转到Error.jsp.如果成功就返回true,页面跳转到Success.jsp....可是假如最初Person这张表是确实的查询到了,只是表里面没有数据,但并不能代表压根没有查询到数据.这个时候其实是应该跳转到Success.jsp页面然后输出“占无数据”的信息。而不是仅仅使用ArrayList的size()方法去简单的判断表中无数据就跳转到错误页面。

好吧,如果这里必须使用ArrayList中得方法去合理的判断(注意是必须使用ArrayList不能使用其它集合类):假设如果查询到了表或者虽然查询到了表但是表中没有数据都应该返回Success.jsp,只有当没有查询到表时才返回Error.jsp 该怎么做?没错很多人或许想到只要查询没有异常,就都转向到Success.jsp 可是系统总会存在隐患(比如某些特殊原因即使没有查询到表,程序有时也不会报异常)所以我认为这种判断并不安全。

好久没上了,发现没分了。。。不好意思。

不知道谁有更好的办法。。。抛开理论设计与业务逻辑,只谈用ArrayList如何解决该问题?

  • 写回答

2条回答 默认 最新

  • JamesZhao1987 2011-12-03 09:42
    关注

    你可以看一下没有查到表时抛出的是什么异常,然后对该异常进行捕捉,如果捕捉到该异常时返回null,所以在业务层就可以判断如果返回的list为null表示表不存在跳转到error.jsp,如果list.size()为0时表示表存在但是没有数据。仍然调整到success.jsp,在没有表的情况下去查询该表一定会抛出异常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算