1.jsp标签: sun原生的,直接jsp使用
<jsp:include> -- 实现页面包含,动态包含
<jsp:include page="/index.jsp"/>
<jsp:forward> -- 请求转发
<jsp:param> -- 配合上面上面的两个标签使用,
<jsp:forward page="">
<jsp:param value="xxx" name="xxx"/>
</jsp:forward>
2.EL表达式:
Expresion language
出现的目的,取代jsp中的jsp脚本表达式 <%= java表达式>,发展后不限于此
${el表达式}
获取数据 ,不能遍历数据
注意:1 使用[]的地方都可以用点号替代,除了中括号是数字和特殊字符不能替代
${a[1]} != ${a.1}
${a["1.1"]} != ${a.1.1}
${a["name"]} == ${a.name}
2 在中括号中不用""引起来的变量,是执行“获取域中的变量的流程”
获取常量
字符串/数字/布尔变量, 直接写在el表达式中
${"获取常量"} ${199} ${true}
获取域中的变量
如果el中写的是一个变量的名,el会调用pageContext的findAttribute方法,在四大作用域中以对应
的名字找对应的属性值。 如果找不到,则不输出
<%
String name= "xxx";
pageContext.setAttribute("name", name);
%>
${name}
获取数组的数据
<%
String[] names = {"1","2","3","4"};
pageContext.setAttribute("names", names);
%>
${names[0]}
获取集合中的数据
<%
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
pageContext.setAttribute("list",list);
%>
${list[2]}
获取Map的数据
<%
Map<String,String> map= new HashMap();
map.put("name", "xx");
map.put("age", "xxx");
pageContext.setAttribute("map",map);
%>
${map["name"]}
${map.name}
获取java bean的属性
public class Person{
private int age;
public void set(int age);
public int get();
}
<%
Person p = new Person();
p.set(10);
pageContext.setAttribute("p",p);
%>
${p.age} 获取属性 == p.get();
<img src=${pageContext.request.contextPath}/1.jpg/>
执行运算
获取常用开发对象