struts框架中前台与后台之间的数据传输

来源:互联网 发布:qq三国js加智力 编辑:程序博客网 时间:2024/04/30 12:44

运用struts框架开发项目时会有一件比较神奇的事情:前台向后台传输数据的写法很简单。

 

在action类中声明前台要用到的变量(包括常用的变量和自己构建的类),并生成相应的get和set方法,这样就可以在前台向后台提交表单时,只需要在对各表单项的name属性赋值时与action类中的变量名一致,并提交到相应的action类中处理即可。

前台写法:

后台写法:

这种效果就是通过struts中的拦截器实现的。具体原理还不很清楚,猜想是拦截器先“拦下”表单中的变量,待程序运行至相应的action中时,再依据变量名跟事先声明的变量进行匹配,如果一致就调用set方法对其赋值,然后从而这些全局变量就可以在该action类中的各方法中直接使用。(确凿的原因随后补上。)

 

 

 

ognl表达式则有相反的功能,当数据从后台向前台传输,或者说前台想要表现后台的数据时,它能起到很好的简写作用。

从变现jsp(jsp分为两种:逻辑jsp和表现jsp)中的百分号--------与jstl标签库配合使用的EL表达式,再到如今struts框架中与struts标签库配合使用的ognl表达式,虽然写法各不相同,但本质无非都是拿到后台的值,将其嵌套在前台的表现页面中。

 

标签分为数据标签,逻辑标签 和UI(用户界面,主要是表单吧)

 

【数据标签】在操作普通变量和对象上和在对session  application  request区域的取值上,ognl和El可以说是没有区别,但ognl在对list集合,map集合的操作上有更多功能

【逻辑标签】相比EL有了elseif else标签,iterator标签

【UI】表单的属性多了

 

原创粉丝点击