重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
requestScope通常是将某个变量或者对象在servlet或者acion中通过request.setAttribute()方法放入到request对象中,然后在页面中使用requestScope来进行数据的显示的
创新互联专注于企业成都全网营销推广、网站重做改版、大宁网站定制设计、自适应品牌网站建设、H5网站设计、商城网站定制开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大宁等各大城市提供网站开发制作服务。
而request.getparameter则是则是更多的用在servlet或者action中,它的作用是接受表单提交来的数据,比如你的jsp页面中的表单提交的数据。
所以两者的区别大概如下:requestScope更多的用于展示页面,从request对象中取出对象或者变量来显示,而request中的对象或者变量也是程序员通过手动的方式request.setAttribute方法来放入request对象中的
而request.getparameter则更多的应用于后台的方法中,它的参数不是程序员手动设置的,而是由表单来接受用户输入的值会随着用户的请求被放入request对象中。
第一步骤:问题总结:
el表达式默认获取的是java实体对象和map,list等集合中的数据,
如map 通过键名获取value ${key}
list 则通过循环类似for一样展示
c:forEach items="${dataListMap}" var="item"
li
div${item.id}/div
div${item.content}/div
/li
${item.content} 现在获取的是一个json字符串 一个办法是通过截取获得(实现问题过多,不灵活不推荐),一个是在后台利用json操作将其转为map或者对应的实体类(参考第一点)。
第一种:json格式数据的传递(一般使用ajax)。
如果你想要
1、操作json数据格式第一种可以参考:
网页链接
import com.alibaba.fastjson.JSON;
public static void main(String[] args) {
//创建一个对象并将 给对象赋值
Student st = new Student();
st.setId(1);
st.setName("张三");
st.setSex("男");
//使用fastjson转化为json字符串
String studentJson = JSON.toJSONString(st);
System.out.println(studentJson);
//将json字符串转为实体对象
Student changeStudent = JSON.parseObject(studentJson,Student.class);
System.out.println(changeStudent.getName())
}
2、操作json数据格式第二种可以参考:
网页链接
import java.util.List;
4.2 关键代码:
public static void testList(){
//将集合对象转为json对象,json字符串
ListStudent list= new ArrayListStudent();
Student st = new Student();
st.setId(1);
st.setName("张三");
st.setSex("男");
Student st2 = new Student();
st2.setId(2);
st2.setName("小丽");
st2.setSex("女");
list.add(st);
list.add(st2);
//将类转为json对象
JSONArray array=JSONArray.fromObject(list);
System.out.println(array.toString());
//将json对象转为对应的集合类
JSONArray arrayBean = JSONArray.fromObject(array.toString());
ListStudent listBean = (ListStudent) JSONArray.toCollection(arrayBean,Student.class);
//输出转换后的结果
for (Student lst: listBean) {
System.out.println("name:"+lst.getName());
}
}
3、使用ajax调用接收后台数据:
3.1 使用jquery的ajax 和servlet网页链接
3.2 使用原生js实现异步调用获取servlet数据:网页链接
第二种:将json对象转为实体类(转换方式参考第一种),并将实体类放入request或者session作用域中。
前端jsp页面引入cjstl表达式:
%@ taglib uri="" prefix="c" %
将数据放入request作用域中:
EL表达式语言: 原本定义在jstl中的一种表达式规则,用于计算,并将计算的结果作为jstl标签中的属性值。后来独立出来,可以脱离jstl直接适用。
EL的适用:
1.访问bean的属性
2.作一些简单的运算
3.可以方便地获得表单中的数据
4.作为jstl标签中的属性的值
5.几个隐含对象
pageScope,requestScope,sessionScope,applicationScope
例:${sessionScope.user.name} 指定必须从session范围中去取user.name的值
用${},1,访问Bean属性如:${user.uname}等价于% User user=(User)request.getAttribute("user");out.print(user.getUname());%
2,获取请求参数,如:
${param.username}等价于request.getParamter("username");
EL表达式是配合JSTL使用的。你需要引入的是JSTL标签库
%@taglib uri=" jsp标签的命名空间 " prefix="c"%