• struts入门2


    不同开发人员有不同的习惯, pojo,bean,entity,model 等等,都是指的它~--------实体包名字

    开始

    重点:

    为了有一个String类型的返回值,这个返回值可以自己定义,这个返回值要和struts里对应Action里的一个result的name属性值相同。
    这里是返回值是"diyshow";在执行完ShowTimeAction里的showtime方法后,最后产生的这个返回值"diyshow"会自动跑到struts.xml里面的"showTime"这个Action下面寻找一个name值为"diyshow"的result,找到它,跳转到相应showTime.jsp。

    果然都是:${XXX}会访问对应的Action的 geXXX()方法 ,然后再把这个XX对象通过request.setAttribute("XX", XX 放在"product" 这个key上,这样就方便EL表达式去取出来了

    ================
    因为我测试过 ,假如在对应的Action 做一下手脚的话,请看下图

    而现在假如我在上面基础上 继续把,private Date date ; 改为公有成员

    又成功出现了

    所以这证明了一个流程

    1. 访问路径 /showTime
    2. 所有访问都被struts的filter所拦截,并进入struts的工作流程
    3. 根据配置文件struts.xml, 会执行ShowTimeAction的showtime方法
      4.1. ShowTimeAction通过request.setAttribute("currenTime", currenTime) 放在"currenTime" 这个key上,这样就方便EL表达式去取出来了。似乎只要是这个Action里的属性,他都会放到作用域里
      4.2 在showtime方法中会返回一个String , 在上面例子返回的是 "diyshow"
      5 自动跑到struts.xml里面的"showTime"这个Action下面寻找一个name值为"diyshow"的result,找到它,跳转到相应showTime.jsp。
    4. 在showTime.jsp中,${currenTime}就直接取值了

    我的推测1:只要那个Action里面有什么属性,struts都会帮我们将它放入requsest域里。
    **我的推测2:struts当看到jsp里有${currenTime},然后再访问对应的Action的 getCurrenTime()方法拿到返回的对象,然后再把currenTime对象通过request.setAttribute("currenTime", currenTime)

    严格的说是Action把数据放在了request的setAttribute("product") 上, JSP的EL表达式${product.name} 是从request里取的数据。

    问题:${date}是什么时候创建出来的
    答:通过struts的getData()方法取出来的,或假如是data成员是公有的话,可以直接就拿出
    因为Struts就是这么设计的(无力的回答~)

    问题:为什么${date}会访问对应的Action的 getData()方法
    答:(首先要注意EL表达式从哪些对象中获取数据,有Page、Request、Session……等)在这里EL表达式访问的是当前 request,而不是Action。ShowTimeAction中有一个date属性,Struts2会自动调用 request.setAttribute("date",date)将date对象保存到request中,所以 EL表达式才能取到date对象。我是这么理解的,请大家指教
    因为Struts就是这么设计的(无力的回答~)

  • 相关阅读:
    DevExpress ASP.NET v19.1版本亮点:Pivot Grid等控件
    .NET界面控件DevExpress全新发布v19.1.5|改进Office 2019主题
    Kendo UI for jQuery使用教程:操作系统/jQuery支持等
    Web安全篇之SQL注入攻击
    SQL Server中timestamp(时间戳)和rowversion(版本戳)
    PyCharm2019 激活码
    性能测试 vs 负载测试 vs 压力测试
    一套完整的压力测试项目文档
    Visual Studio性能计数器,负载测试结果分析- Part III
    Visual Studio进行负载测试,RIG和负载测试术语- Part II
  • 原文地址:https://www.cnblogs.com/czy16/p/8874195.html
Copyright © 2020-2023  润新知