struts框架Jsp与Action的交互

struts框架Jsp与Action的交互总结

一.Jsp→Action

jsp传值

  • form表单
  • url

action接收

  • request.getParameter(“param”)
  • setter :action自动接收
    • 直接传属性(uname、umima)
    • 封装类(user[uname、umima])
    • Action类实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法 .

二.Action→Jsp

值栈原理ValueStack

​ ValueStack贯穿整个Action的生命周期(每个Action类的对象实例都拥有一个ValueStack对象),即用户每次访问struts的action,都会创建一个Action对象、值栈对象、ActionContext对象,然后把Action对象放入值栈中;最后再把值栈对象放入request中,传入jsp页面。相当于一个数据的中转站,在其中保存当前Action对象和其他相关对象 .

  • 对象栈(getter)
  • map栈(context map)
    • ActionContext
    • key -value
    • request-requestmap
    • session-sessionmap
    • application- applicationmap
    • paramters-hashmap(请求参数)

jsp访问方式:ognl或el

  • ognl:对象栈直接访问属性(本质也是通过getter方法访问,所以直接getXX()也可以访问),map栈加#
  • el:${}

版权声明:本文为mrhehe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。