00:00
下面呢,我们就具体实现刚才那个需求的功能哈,我们首先呢,把这几个JSP复制过来,JSP得做一些简要的修改,Index不用变,一模一样的,然后把pages拿进来。好了啊,这个改啊改details,这个要改的比以前简单。简单到什么程度呢?看?这个不要了。这么改可能会感觉比较郁闷是吧,这么改完之后也忒简单了,好了,回头我们讲为什么啊,就是改一处,然后呢,我们把这个包复制过来。
01:03
这样不行。这样写一个吧。好,我们把这个类复制过来。只复制product写完这些档的跟以前一模一样,要是说不一样的话,我们可以把这个去掉,我们不需要这个代餐的故障器,把那个代餐的删的话,无参的是不是也可以删了,默认提供无川的行好了,这库子这方法的话呢,我们还要下边重要的就是来写这个配置文件。好了,来写哈,首先呢,我写一个package,就是说八库的任何低于启动的配置啊,都必须放这个package里边,这个package包吗?啊,类似于TRU1那个模块啊,一个模块可以对应一个包,这个包有个名字name随便写啊,我写个hello。
02:21
这样写,然后呢,我们这个包通常情况下需要继承一个副包,这个副包的名字叫。在哪呢?抓自带的。我们找到ru to扣往下翻,有一个trus default XL,这个这个名可不是因为这个名哈,不是因为它把这个打开往下翻。他在这个rus defort XL里边,他配了一个包,很快就到了,他配了一个什么呀,配了一个package,这个名字叫stress default,哎,我们写的包通常需要继承这个包,因为这个包里边帮我们写了很多结果类型,帮我们写了很多拦截器,帮我们写了很多拦截器站,说白了就是它有很多已经配置好的配置,我们可以在这个基础上。
03:24
来写我们的包,也可以对他来做出一定的修改和扩展,那回来好了,这是我们必须要配的,说给的包18度。使用。来组织。模块,你可以认为一个模块是一个包,其中name属性。
04:01
必须用,不用有什么用啊,刚才我们同这个里边我们是不看,不看有什么用呢?用于其他的包来引用当前的包啊,用于被其他的包引用,用于其他的包引用当前包,刚才这个名字我不就用上了吗?啊还有一个expense。钢琴包继承。打个包。好了,那继承的地可以继承其中的所有的。属性所有的配置吧。通常情况下都继承这个。通常情况下,继承at。
05:05
也有例外的情况啊,我们在后边学习的时候呢,我们会看到。好了,这么一个package,那我们现在我们写程序的话,很多时候都这样写pack这个name,你可以写成模块的名字,我们这个模块就是hello word excuse,诶指定一个继承的包啊,我们继承的是stressault,就trus默认的这个配置文件里边的。配置的这个package,那我们继承它的话,就可以用到这里边儿声明的结果类型,这里边儿配置的一个一个的拦截器,还有这个里边配置了一个一个的拦截器,站往后翻。怎么样?它配置了一个我默认的拦截器,指向的是default stack叫默认的拦截器站。
06:01
G我们现在用的呀,是它。好了,再往后翻,哎,还有一个我默认的action以上的是action support行。继承完了回来好了,下面的话呢,我们来配置。一个action。说到底什么是action呢?一个八度的请求就是一个action。一个。Two啊,请求就是一个action,这个action这个名字啊,起得很好,我们看这个input是不是action呢?对应的就是它,好了,回来配一个吧,哎,Action名字我有一个叫product input,哎,我直接配一个结果对到结果吗?Map if目录下的可对是目录下的input.s,这样就可以过得来。
07:20
Other,找一个试试,来我们这个哈。是不是能过来呀,OK,这就可以了,这块的话呢,我们从表面上看的话,怎么看呢?啊,这个product input对应的是。这个前边这个叫什么呀?叫contact pass吧,这个叫扩展名吧,我们要的就是a product input跟它对应,而后边这块我配了一个结果,结果去的是这里边儿的,呃。
08:07
这个页面表面上是这样的。好了,再写起来。Name对应一个。SPA to请求的名字,呃,不包含扩展名,不包含扩展名,那我这个请求怎么样,就叫包input,扩展名去掉了,那可不就是它吗?实际上你也可以说对应的是那个s pass,把那个斜杠跟那个点action去掉也可以。
09:00
或者啊。对应碳去除斜杠和或展停一样的啊,下边的话呢,我们这个result表示什么呀。表示结果result结果,那我这块我就直接配置了一个结果就行了。那呃,更详细的这个信息的话呢,我们一会再说,比方说啊,这个里边实际上是有一个class的,实际上是有一个method的,实际上还有啊,还有什么name啊,Type啊,一会说从这块的话可以看得懂,好到这里边来之后的话呢,继续。你怎么了?我去product save吧,那我再写一个action save好了,这个时候我说你给我去一个类吧,我不能够像以前那样随便写了啊,或者说默默认的不行了啊,我就来这个product,来这个地儿CTRLC。
10:17
后来那这个地叫什么方法呢?啊,叫那个save方法好了,我再配一个result,配一个结果啊名字叫什么呢?叫details。Web pages下边的ESJSP写完好了,那于是我要这样写的话,你会想到什么呀?应该是个反射吧,反射调用方法吧,那你确实是得提供一个save方法呀。提供一个public string save,就是说我说你反馈只是为什么是一个string型啊,回来看这个,你看这个result是不是有个名啊,啊,我这个返回值就是跟它对的叫return details。
11:16
好,我写个save,写谁呀,就写this啊,发心对象吗?查一下。我刷一下来CPU。没问题啊,老鼠英特尔。价格1200。走一个。大家看到了吧,是不是来这个页面了,但ID没有,我ID是不是我ID是不是没赋值啊,OK CPU in特1200,包括这块这个结果都是。OK的,那这样的话呢,这就是我们刚才实现的那个功能,只不过我们是基于拉兔的。
12:08
好了,我们要写一下不同,然后大家把这个howood呢先跑起来,一会儿我们来讲,呃,具体的每一个配置都是这么一回事,这里边的话呢,我们配了一个class,配了一个method,还配了一个result,这个name,我们隐约能够感觉到它是什么意思吧,啊,我实际上是调用了。这个类对象的这个方法,然后这个方法的返回值跟一个result对应,我直接来这个页面了,好,我们要写一个笔记哈,写一个跟我们先前自个写那个有哪些不同个点,第二个题1S。直线哎,跟自己实现有哪些不一样呢?啊,第一个我需要搭建环境,好了,这个详细步骤啊,我就不写了,好然后的话呢,我们不需要显示的来定义那个filter,不需要显示的定义filter,为什么取而代之的是,而使用的是抓to。
13:35
啊,配置文件,OK,这个不一样,以前没有配置文件,现在用的是配置文件,好吧,配置文件的话呢,那就是它这里边的话呢,哎,我们比较详细的说了一下,我们一会我们还会说啊好了,还有一个不同在哪呢?三这个details r JSP啊比以前变得简单了,比先前。
14:03
变得简单了。以前是啥样的呢?我们以其中的一个为例,也是这么写的。Request scope,点点product name变为了。哦,你是不是感觉比以前简单了好多呀?OK,这个真层次的原理的话呢,我们后边讲直站的时候会详细来解释为什么可以这样写。好了,其他的没有什么更多需要说的了,是吧?步骤我们来说一下,整个的步骤是什么呀,如何来写呀,步骤第一步。哎,有这个隐有这个吧,有隐XJST页面的啊。
15:10
短道。对。非得下边的input点变,我们是我是这么干的。啊,在RA中配置一个action就可以了。action配。Proceed。来这个配置啊,看上去能够对的上不是吗?Input product input地址地址完了来。
16:08
二下一个由。input.jsp页面的action action是谁呀?对,叫。Save。Action。所以我们这块的话呢,有两个道,第一个是报product save方法,再到。呃,Web INF的这个文件。哎,这个怎么找的呢?这个呀,我们是这么找,首先的话呢,我们肯定做了一个配置,配置在这儿呢。
17:07
实际上都是配置。啊,这写完之后的话,还有哪块需要说呀,还有一个就是在。嗯,然后中定义一个save方法,借返回值为一六,是这样吧,就成了。看到一个图哈,Product save product input应的是product input直接这个页面,Product save应的是product save,然后我们指定了一个product,直接到了product,一个方法,我这个方法就excute啊,这个无所谓,反过来一个success,跟这个success对应,这就是整个的流程。
我来说两句