00:00
我们来看这个,呃,查看图书的详细信息,这个的话呢,在我们前边我们做过类似的哪个时候做过呀,做那个员工修改的时候,是不是就是这么一个操作呀,只不过那个可以修改吧,这个就直接把这个。结果给列出来了。给每一个开头加一个超链接,超链接后边你得跟个什么东西啊。超链接后边的话,你是不得有一个标识,标识到这个实体呀什么呀。ID吧,然后根据那个ID上里边把图书查出来,而且把那个图书放到请求域里面,在这个页面可以显示就可以了,当然我们这个要求呢,我我按这个继续购物回来,我还能够回到那一页,还能够回到。
01:00
这个这个查询条件,这个我们昨天已经讲过了,我们整个把这个搞一下。看首先到这个里边来。开。来,好了,过来看。是这样写。C。同学说,老师你为什么需要传这个黑轮单管啊,你是不是还要还要还要回到这一页再。行了,然后。还需要跟不上ID版。ID等于。这是个循环,就直接不点ID是不是可以呀,ID就跟上了,然后的话呢,我们先看一下这一页。
02:30
没有这样写了,我写个50到。63米。我直接点下一页,注意我点这A站,我们看这个房间。这样子虽然说没有啊,大家看。Method的是get number有吧,ID有吧,Mean price也有啊,怎么加呢,怎么加的,我们加到哪,我们是不是加到这。
03:00
这是我们写的吧,他怎么加的,我们是不是在GS里面已经已经把所有的这个A是所有的A呀,是不是都加上了这个隐长于的这个值了呀,所以说这个也是有的,好了,那既然能这样的话,我们就放心了,是吧。在这这是这些值的话呢,都可以过来,于是回来首先我们新建一个。没这个方法,对,确实没写这个方法。在里边写这么一个方法。该不?
04:00
好了,写完这个方法之后的话呢。我首先我需要我们想哈,我首先的话,那肯定需要获取一个ID,那我需不需要获取这些东西。九。需不需要,当时我们获取这些是为了干什么呀,我是不是为为了去这个获取这个配置对象,我现在不需要获不需要去获取这个配置吧,所以说这些展示我们可以先不写,但是我一定要需要一个它string ids tr等于request点啊。ID有了,好了,然后呢,啊,我要得到我的book,等于book啊service.get啊book话没写呢,哈,好了,Get book的时候啊,我怎么办呢?哎,我需要有一个ID等于。负一,然后呢,ID等于in.ID tr整个这个再看一下。
05:15
如果要没有的话怎么了,如果要没有的话,这个值是不是就是负一啊,把这个ID搬进去,你方法给写啊,然后放request里边去。Book,然后转发request.get request根目录下的web for目录下的pages目录下的book.jsp.forward request response OK,好了,去新建这个方法。这个方法的话,对我们来说很轻松。
06:00
是不是写过来,OK,写完到这个里边来搞定。那有一个问题,如果这个书要真没有的话怎么办?这我去查了,那这书不存在怎么办呢?有可能哈,这个数根本就不存在,If告人一声是吧,不等于now,不等于now的话呢,你就去一个页面吧,我告诉说您请求的页面不存在。Response点或者直接去首页也可以,反正就告诉他,哎,你整个页面不存在在的这个页面的话呢,可以放在。可以放在根目录上。request.get context path。
07:04
第。P。告诉CTRLC保存您请求的页面,不存在这这。H4,您请求的页面不存在保存。然后呢?这就完了哈,那这里怎么办呢?是不得得一下呀。后边不要再执行了。写完好了,这些都搞定之后呢。别的没啥了吧。也就OK,那这块需要说一下啊,这块需要说一下,说一个什么呢?说一个这个你看如果我传过来的这个值啊,根本就不是一个整数,那我是不是没法去查了。
08:10
那实际上这个时候这块你就可以写。这块你就可以写。所以说我们可以这样写。或值flag等于这块的话呢,Flag等于false。好,那我在这个时刻我就可以干什么呀,我实际上就已经可以啊进行这个重定向,就是说为什么这块需要判断一下为好呢?比方说我这块这个ID根本就是不合法的ID,是一个负一,你这块干什么呀,你这块是不是还需要进行一个数据库查询呢?我是不是可以把查询内部删了呀,这不是一个一般的代码。你如果要是仅是打印一句话的话,无所谓,但是你这块你是不是涉及到去查数据库了呀,去查去查数据库是需要耗资源。
09:09
所以说的话呢,我们可以把这部省一下,这部怎么省呢?嗯,加上一个flag,我们我们这么省吧。省省的办法的话呢,有很多种。好,这怎么看,大家说我这块如何来写这个ID为好啊,If。Ad不等于负一,如果ID要是不等于负一的话,我这查可以吧?可以吧,因为你这块ID开始是负一吧,如果这个只要能上的话,ID就不是负一了,然后如果ID要不是负一的话,它应该应该去查吧。应该去查吧,好了,那查完之后的话呢,这块这个值,哎,我再进行判断,当然有同学说老师我要传一个负二过来呢,那你可以这么写说ID。
10:09
大于零。因为这个ID肯定没有负的嘛,你这样就也可以,然后你这块做一个判断也就可以了啊,这个页面不存在这个写完过来。写这个页面,RLC过来。H4。不认识字啊,三条。第二第二我要写什么呀,我要写这个书的详细信息。
11:00
有这么多看看哈。这个是。书名。我家。Author。不点哦,还有啥单价。不点再时间。出版时间得写啥吗?多个点。
12:03
最后一个评论。Opening re mark。后边有有一个什么链接A继续购物。这继续沟怎么办呢?我是不是还得回到那个地儿啊,那个地儿应该是在。看哈,继续购物啊,应该是在这个字。CTRLC过来好,我们看怎么写啊,目前我这个路径的话呢,都是相对路径,回头我们统一给他。路径,到时候我跟大家说如何来改。Method number是过来。
13:02
点点number,不过是不是还有值啊,还有什么呀。是不是还有那个mean mark啊,那mean price mark price的话呢,我们可以可以把这个复制过来。我先复制一下啊。过来。那当然,我们也得用GS。CTRLC过来。好了,写完试试哈。对。上山。
14:00
嗯。嗯。Function。行。对抗。刷新一下。就是第五页。共第二页,我点点过来信息回来是OK,当你第三页。到我们的。不敢。
15:01
我写的时候number。那number的话呢,我们再回来,你看我传的对不对呗。哦,这个没写对是吧,是不是当前页啊是吧,被number。带过来。下一页来。不是这个啊,这个上一页行了,AX回来没问题吧,整个这个就OK了,那同学说老师你什么时候会出现这个一码错误,这个ID错误的情况,你看我我这样写。这不就没有这个页面,我就可以看到一个这样的情况。这就是我们刚才做努力的这个情况是吧,但是这块你写成AAA也可以。
16:00
就是恶意的人才会这么干,你说恶意的人如果要去改这个60啥的怎么办呢?那他要改这个的话,那很明显他想达到一个恶意的效果,这我们不用管。行了,这样的话呢,我们这个查看图书详细信息的这个功能的话呢,我们就实现了,我们归结一下,看一看这里边儿有哪些点值得我们来,呃,深入的再说一下,首先呢。我们看这个box.jsp我要干什么呀,我要去显示这个数的详细信息,所以说这块我加一个套链接,它链接里边带了。带了两个,一个是带了一个ID,还带了一个配置number,为什么带这个配置?因为我过去之后的话,我还想回这一页吧,所以说我把这个配置number传过去了,然后的话呢,我再回到当前这一页,这个ID是必须要带的,为什么呀。
17:00
我要找这个书啊,好了,那于是的话呢,这个就给到了我们的啊。这个方法获取一个ID这块这个处理的话呢,是我们以后开发的时候经常使用的一个方式,因为你传播这个ID啊,它不一定是一个。整形可能是一个不合法的值,所以说我们这块我做了一个判断,正常的话放到请求域里边转发来到这个页面,Book这个页面的话呢,给予正常的显示,然后再有一个返回,返回之后,呃,返回返回的时候呢,我们也用到了这个隐藏域和什么呢,和我们这块这个呃呃,GS代码好了,这会看完之后的话,我们可能会有一个想法就是。这个代码跟这个代码是这个代码跟这里边儿的。这个和这个是不是重复啊,那能整到一起去吗?
18:07
当然可以,我们可以给它弄到一个里边去,于是我可以写个JS,大家看啊,有什么呀,是不是有这个HTML代码呀。还有我们的GS代码吧,还有这个导入,所以说我们可以考虑给它写成一个。后面好,这个是查询。嗯。A condition。打战P。好了,写好写好之后的话呢,你就不要了啊,要个啥嘞。看样式。回过头来看,有,有这么一行在吗?
19:02
这个目标吧,就这么一条吧,CTRLX。有的还有什么呢,还有这么一条的。行了,然后呢,这个GS啊,还需要包含。然后还需要什么呀。哎,然后就是我把那个页面给包含进来就可以了。吧。这是跟目录下的,目录下的。Query condition、发现条件等,JSP copy。放进来来。CTRLC到这个里边也一样,这个代码不要了。
20:03
这个代码也不要了。然后呢,放这儿。好看,好不好用?战业上业。原文代码大家看。是在这儿呢,看见了吧?有hand这块吗?我们这一页是没有受影响,这是好用的,好了,我点一本书AX,我再回来是不是OK啊,这样这个代码就得到。重用了。好,做一个小结吧。Not t ST啊,我们讲的是查看图书的详细信息。
21:04
来看几个点,需要说一下第一个,第一个那你要查看某一个详细信息,或者说做修改,呈现那个页面的话,一定要在超链接后边。附带一个ID,说在超链接后附带ID,基本上都是这样做的,我是怎么写的呢?这样写。CTRLC过来看,一定要带这样的一个ID,这好了,二。然后到了我们的目标,So,这个so里边我们需要说的就是诶,我们对这个请求参数的处理,如果它是一个,如果它是一个整形啊,然后的话呢,我从页班上传过来这个杂数数不肯定是个字符串啊。
22:08
哎,我对字符串。我对要求是一个整数类型的,这个字符串的处理方案往往是这样的。C说对从页面传入的请求参数。若要求该。请求参数为整形,整形的字符串啥意思呢?就这样。一啊,类似于这样。类似于这样好了,类似位置对controller。
23:04
中的建议处理方案怎么处理呢?怎么处理?就你开始吧,可以写一个ID是多少,然后的话呢,用这样的方式来进行处理,然后的话底下怎么办呢?底下我用这个ID来进行比喻就可以了。这是我们的建议处理方案好了,别的话呢,这里边儿没什么了哈,是空怎么样,不是空的话怎么样,然后到这个页面上显示OK再回去也还好,这样一个需要说明的就是诶。这个查询查询条件是吧,查询条件的隐藏域和JS代码的可重用性解决方案。
24:14
实际上的话呢,也不仅限于这个查询条件的隐藏域跟JS代码整个对于整个这个任何应用都是一样的,是不是把把相同的代码放到一个JSP中。然后呢,各个页面。包含。该JSP即可,我们怎么做的呀,我们这么写的,你看哎,我这块做成了这样一个JSP,然后我包含它就可以了,我这么包含的。
25:06
页面本身我就不写了啊,就是其他以后我们遇到其他可重用的,一般也是这样,要么把那个相同代码放到一个类里面啊,写成一个一个方法,要么的话呢,放到一个这样的一个GP里边包含进来就可以,这个整个思路解决方式是一样的,这就是查看图书详细信息的整个流程。发给大家看一下。
我来说两句