本文目录一览:
java el表达式问题
第一步骤:问题总结:
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)。
如果你想要
- 操作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());
}
- 操作json数据格式第二种可以参考: [网页链接]
import java.util.List;
4.2 关键代码:
public static void testList() {
//将集合对象转为json对象,json字符串
List<Student> list = new ArrayList<Student>();
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());
List<Student> listBean = (List<Student>) JSONArray.toCollection(arrayBean, Student.class);
//输出转换后的结果
for (Student lst : listBean) {
System.out.println("name:" + lst.getName());
}
}
- 使用ajax调用接收后台数据:
3.1 使用jquery的ajax 和servlet [网页链接]
3.2 使用原生js实现异步调用获取servlet数据:[网页链接]
第二种:将json对象转为实体类(转换方式参考第一种),并将实体类放入request或者session作用域中。
前端jsp页面引入cjstl表达式:
%@ taglib uri="" prefix="c" %
将数据放入request作用域中:
java中使用el
el表达式很好用的,就是在request、session、application几个域中查找然后调用get来取得属性的值,比如你的request域中有name,可以这么写${name}
就相当于
<%=request.getAttribute("name")%>
了。当然EL的用法不止这些了,不过常用的都挺简单的,还可以指定域的名称如${pageContext.request.contextPath}
就是我们常见的<% String path=request.getContextPath(); %>
了。
java中EL表达式怎么用
java 中jsp中的EL用法如下:
- 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据。(某个web域中的的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
- 执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。
${user==null}
- 获取web开发常用对象 EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
- 调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
使用EL表达式获取数据语法:“
${标识符}
”EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回“”(注意,不是null,而是空字符串)。 示例:${user}