本文目录一览:
el表达式中如何调用java的contains方法
不可以调用。
el表达式一般是得到的是Pojo类中的Get/set方法
如果你用struts2 可以用ongl
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)。
如果你想要
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作用域中:
java中使用el
el表达式很好用的,就是在request,session,application在几个域中查找然后调用get来取得属性的值,比如你的request域中有name,可以这么写${name}就相当于
%=request.getAttribute("name")%了.当然EL的用法不止这些了,不过常用的都挺简单的,还可以指定域的名称如${pageContext.request.contextPath} 就是我们常见的% String path=request.getContextPath(); %了