java与您_java与我同在

最近这两三天学习了struts2,感觉都快遗忘了繁琐的servlet,主要是struts2在传递数据方面十分的强大。struts2总结来说,就是前台的界面,后台的类。也就是说前台用来显示界面的jsp和后台的继承了ActionSupport的java类,并且通常是一个jsp对应一个java类,struts2通过struts.xml来配置对应jsp的java类。

当jsp访问java类时,会由本质上是过滤器的控制器来控制其访问,首先会创建相应的Action对象(继承了ActionSupport的java类的一个实例)和ActionContext对象,ActionContext对象中存有Action对象的所有属性以及其他的包装了request、session、application的map,并且会将ActionContext对象绑定到当前的线程上面,便于对数据的访问。然后层层调用一系列的本质上是java类的拦截器来进行复杂的处理,在这些拦截器中就有一个java类来进行参数的传递,它会将jsp中表单项中名字相同的条目的值通过ActionContext自动赋给java类中名字相同的变量,从而完成了数据从jsp到java类的映射,之后调用执行java类的特定方法并返回一个表示状态的字符串,然后再一层层返回直到控制器,控制器根据返回字符串在struts.xml中找到相应的jsp等进行跳转处理,并可以读取ActionContext中的数据以显示相应的结果。

这样在struts2中就不需要进行复杂的读取参数的过程,靠配置一个简单的struts2.xml就能实现参数的传递。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值