STRUTS 入门教学(2)

2016-02-19 13:10 3 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐STRUTS 入门教学(2),希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

STRUTS 入门教学(2)
  
  2. 创建Model组件
  2.1 概述
  你用到的应用程序的需求文档很可能集中于创建用户界面。然而你应该保证每个提交的请求所需要的处理也要被清楚的定义。通常说来,Model 组件的开发者集中于创建支持所有功能需求的JavaBeans类。一个非凡应用要求的beans的精确特性依靠于具体需求变化会非常的大,但是它们通常可以分成下面讨论的几种类型。然而,首先对“范围”概念做一个简短的回顾是有用的,因为它与beans有关。
  2.2 JavaBeans和范围
  在一个基于web的应用程序中,JavaBeans可以被保存在(并从中访问)一些不同“属性”的集合中。每一个集合都有集合生存期和所保存的beans可见度的不同的规则。总的说来,定义生存期和可见度的这些规则被叫做这些beans的 范围 。jsp规范中使用以下术语定义可选的范围(在圆括号中定义servlet API中的等价物):
  page - 在一个单独的JSP页面中可见的Beans,生存期限于当前请求。(service()方法中的局部变量) request - 在一个单独的JSP页面中可见的Beans,也包括所有包含于这个页面或从这个页面重定向到的页面或servlet。(Request属性)
  session - 参与一个特定的用户session的所有的JSP和servlet都可见的Beans,跨越一个或多个请求。(Session属性)
  application - 一个web应用程序的所有JSP页面和servlet都可见的Beans。(Servlet context属性)
  记住同一个web应用程序的JSP页面和servlets共享同样一组bean集合是很重要的。例如,一个bean作为一个request属性保存在一个servlet中,就象这样:
  代码:
  
  MyCart mycart = new MyCart(...);
  request.setAttribute("cart", mycart);
  
  
  将立即被这个servlet重定向到的一个JSP页面使用一个标准的行为标记看到,就象这样:
  代码:
  
  jsp:useBean id="cart" scope="request"
  class="com.mycompany.MyApp.MyCart"/
  
  
  2.3 ActionForm Beans
  Struts框架通常假定你已经为每一个你的应用程序中请求的输入创建了一个 ActionForm bean(即一个实现了 ActionForm 接口的类)。假如你在你的 ActionMapping 配置文件中定义了这样的beans(见“创建Controller组件”),Struts的controller servlet在调用适当的 Action 方法前将自动为你执行如下的服务:
  用适当的要害字检查用户的session中是否有适当的类的bean的一个实例。
  假如没有这样的session范围的bean,自动建立一个新的bean并添加到用户的session中。
  对每个名字对应于bean中的一个属性的请求参数,调用相应的set方法。这个操作类似于当你以通配符“*”选择所有属性使用标准的JSP行为标记 代码:
  jsp:setProperty
  
  更新的ActionForm bean在被调用时将被传递给Acton类的perform()方法,以使这些值能够立即生效。
  当你在写你的ActionForm beans时,记住以下的原则:
  ActionForm 接口本身不需要非凡的实现方法。它是用来标识这些特定的beans在整个体系结构中的作用。典型情况下,一个ActionForm bean只包括属性的get方法和set方法,没有商业逻辑。
  通常在一个ActionForm bean中只有很少的输入验证逻辑。这样的beans存在的主要理由是保存用户为相关的表单所输入的大部分近期值 -- 甚至在错误被检测到时 -- 这样同样的页面可以被重建,伴随有一组出错信息,这样用户仅仅需要纠正错误的字段。用户输入的验证应该在 Action 类中执行(假如是很简单的话),或者在适当的商业逻辑beans中执行。
  为每个表单中出现的字段定义一个属性(用相关的getXxx()和setXxx()方法)。字段名和属性名必须按照JavaBeans的约定相匹配。例如,一个名为 username 的输入字段将引起 setUsername() 方法被调用。
  你应该注重一个“表单”在这里讨论时的意义并不必须对应于用户界面中的一个单独的JSP页面。在很多应用程序中一个“表单”(从用户的观点)延伸至多个页面也是很平常的。想想看,例如,通常在安装新的应用程序时使用的导航安装程序的用户界面。Struts鼓励你定义一个包含所有字段属性的单独的ActionForm bean。不管字段实际上是显示在哪个页面上。同样的,同一表单的不同的页面应该提交到相同的Action类。假如你遵照这个建议,在大多数情况下,页面设计者可以重新组织不同页面中的字段而不需要改变处理逻辑。
  2.4 系统状态Beans
  系统的实际状态通常表示为一组一个或多个的JavaBeans类,其属性定义当前状态。例如,一个购物车系统包括一个表示购物车的bean,这个bean为每个单独的购物者维护,这个bean中包括(在其它事物之中)一组购物者当前选择购买的项目。分别地,系统也包括保存用户信息(包括他们的信用卡和送货地址)、可获得项目的目录和它们当前库存水平的不同的beans。
  对于小规模的系统,或者对于不需要长时间保存的状态信息,一组系统状态beans可以包含所有系统曾经经历的特定细节的信息。或者经常是,系统状态beans表示永久保存在一些外部数据库中的信息(例如CustomerBean对象对应于表 CUSTOMERS 中的特定的一行),在需要时从服务器的内存中创建或清除。在大规模应用程序中,Entity EJBs也用于这种用途。
  

来源:https://www.tulaoshi.com/n/20160219/1603173.html

延伸阅读
一:上滑板的时候要注意分准滑板的前后,第一只脚需要站在前面向前滑行,否则容易摔跤。 二:上滑板时的方法,第一只脚踩板要稳不要急,第一只脚上板以后慢慢地、均匀地滑行,不能太远。不然容易倒. 三:滑行的时候两脚要直,身子要稳,上板以后要前后摇动滑行。
标签: 独轮车
第一步:调节车座高低,车座高度基本与腹部平行。 第二步:车座的高度以上车后双腿弯曲的程度来决定,以左腿弯曲为例。
标签: Java JAVA基础
简介: 我看到很多项目中,开发者实现了自己的MVC框架,并不是因为他们想做同Struts根本不同的东西,而是因为他们并没有意识到如何扩展Struts。开发自己的MVC框架可以获得全部的控制权,但是这也意味着需要很多资源来实现它(人力物力),在紧张的日程安排下,有时候这是不可能的。 Struts不仅仅是一个强大的框架,...
标签: 转笔教程
第一步:将笔在手中摆好。(如视频) 第二步:拇指稍微往前轻轻压。 第三步:食指往回一抠,多次来回转动。
标签: 飞镖
持镖方法:大体包括,持毛笔式,握钢笔式。半握式,全握式。一定要注意,拇指和食指一定要掌握在镖的重心点靠后的位置上,中指搭在重心点靠前的位置上。这种方式有利于手指对发力的过程当中充分的能够使镖在自由飞中心有非常平稳的灵性。 基本动作: (1)在投镖时,一定要保持除手。手腕,小臂,身体其他的部位。...

经验教程

396

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部