struts2中关于前端和后台的数据交互
使⽤struts2框架时,要想将后台的数据传送到前端页⾯,可以在action中定义⼀个⽅法,如下图所⽰:
当然,使⽤struts2框架需要在l中配置,配置信息如下:
此处的<result name="success" type="json"></result>说明当action中定义的⽅法返回的是success,后台可以向前端传递⼀组json类型的数据,我们可以直接在前端使⽤ajax接收该组数据。还有⼀种情况,见下图:
此时我们返回的是⼀个name="airList"对应的页⾯,那么我们如何在前端接收到airdetecs中的数据呢
这⾥⾯⼜要分两种情况:
①如果是在html(即body)中接收,直接使⽤EL表达式即可
②如果是在<script>中,那么我们不能直接使⽤EL表达式进⾏接收,问题的核⼼在于${}之中的对象类型,如果是java对象 那当然取不到,如果是具体到字符串的值 那么只要加引号就能使⽤,所以, 后台可以在把java对象放进model之前,将java对象转化为json字符串,这样直接在js 中定义⼀个对象,给他赋值为${}即可,参照上图,在⽅法中加JSONArray.fromObject()⽅法,将java对象转化为json字符串,这样在前端<script>代码中也可以直接⽤EL表达式进⾏接收(${}),此时我们只需要将数据打印到前端控制台,便可以.出相应的数据,加以使⽤。 接下来说说如何将前端的数据传递到后台,此项
⽬中我在前端得到了多选框中的仓号数据,例如仓号分别为1、2、3、4、5、6,那么我们如何将这组数据传递到后台以供使⽤呢?有两种⽅法,第⼀种是将这个数据拼接成⼀个字符串,将这个字符串放到⼀个obj对象中,通过ajax将这个对象传递到后台,加上get、set⽅法即可,第⼆种是通过url,见下图
el表达式获取值当请求showMoreDetails()⽅法时,即可将url中的4个参数传递到后台,此时我们为每个参数添加相应的get、set⽅法即可在后台取到值最近在使⽤struts2做项⽬,从⼀个初学者开始,有问题欢迎讨论!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论