对“网页-Action-JSP”建模

摘自——http://myreview.spaces.live.com/blog/cns!3B7E677AB58843E1!123.entry

对网页建模
我们把网页看成一个类。
把里面的<input>之类的输入框看成是这个类的属性,他们有名称(name)和属性值(value等)。
把里面的submit()看成是这个类的方法。
于是,我们把每次submit提交动作看作是这个网页类的一个方法调用。
另外,提交前在javascript里可以改变属性值,当然用户的输入也是在改变属性的值。

对Action建模
在我建立的模型里,它是这样一个类。
它没有属性,只有一个execute()方法。它的责任则是响应“网页”这个类的一次提交。对于“网页”类来说,它的这个execute方法相当于是一个业务方法,实现响应的业务功能。但是,Action类不负责显示数据。那么它只能把执行完业务方法后的结果放在一个地方,让其他显示数据的角色来显示这些结果。这个角色就是JSP类。这些结果通常都在放在Request,Session里。
到这里我们可以这样理解。Request和Session里放的东西应该是些业务执行的结果并给JSP用的。
还有一种情况。“网页”类有两个或者3个按钮提交的都是一个Action。Action里的不同大的分支应该属于网页类过来的不同业务的请求。
对JSP的建模

它是这样一个类。
它没有属性,只有一个我抽象的build()方法,这个方法的责任是生成“网页”类,并且重要的执行过程就是给这个“网页”类的属性赋初始值,其实这些值就是用户看到的值,但是还应该有一些“网页”隐含属性的初始值。
生成网页,显示结果需要一些结果数据。那么这个时候,JSP类主要就是从Request或者Session中取得Action的执行后的结果,然后将其显示。
从另外一个角度来说,JSP不应该负责如何响应“网页”的业务请求,而只是显示结果。
build()方法的主要内容无非就是build“网页”的“躯体”。
这时taglib的作用就好理解了。它就是从Request或者Session对象里拿数据,去生成“网页”的“躯体”。还有“网页”的“属性值”。

你可能感兴趣的:(JavaScript,jsp,Blog)