学习峰哥Jsp教程自学笔记,峰哥Java学习路线:http://www.java1234.com/javaxuexiluxiantu.html
1、EL表达式配合form表单提交取值:
新建如下提交页面(post和get均能取到值):
//post方式提交
<form action="el2.jsp" method="post">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
//get方式提交
<a href="el2.jsp?age=13">提交到el2.jsp</a>
//提交一组值
<form action="el2.jsp" method="post">
<input type="checkbox" name="hobby" value="java语言"/>java语言
<input type="checkbox" name="hobby" value="C#语言"/>C#语言
<input type="checkbox" name="hobby" value="php语言"/>php语言
<input type="submit" value="提交"/>
</form>
取值页面如下:
<%
//设置编码方式 防止中文乱码
request.setCharacterEncoding("utf-8");
%>
//取单个值
<h1>姓名:${param.name }</h1>
<h1>年龄:${param.age }</h1>
//qu
<h1>爱好1:${paramValues.hobby[0] }</h1>
<h1>爱好2:${paramValues.hobby[1] }</h1>
<h1>爱好3:${paramValues.hobby[2] }</h1>
取值效果如下:
2、EL表达式操作对象:
新建Java对象如下:
package com.demo.model;
public class Student {
private int id;
private String name;
private String nickName;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
操作代码如下(通过javabean实现):
<jsp:useBean id="student" scope="page" class="com.demo.model.Student"></jsp:useBean>
<jsp:setProperty property="id" name="student" value="21"/>
<jsp:setProperty property="name" name="student" value="张三1"/>
<jsp:setProperty property="age" name="student" value="231"/>
<jsp:setProperty property="nickName" name="student" value="小三1"/>
<h1>学号:${student.id }</h1>
<h1>姓名:${student.name }</h1>
<h1>年龄:${student.age }</h1>
<h1>昵称:${student.nickName }</h1>
显示效果如下:
3、EL表达式操作集合
操作代码如下:
<%
List<String> list = new LinkedList<String>();
list.add(0, "元素一");
list.add("元素二");
list.add(0, "元素一");
request.setAttribute("list111", list);
%>
<h1>${ list111[0] }</h1>
<h1>${ list111[1] }</h1>
<h1>${ list111[2] }</h1>
显示效果如下:
4、EL表达式运算符操作
支持的操作:
算数运算符,关系运算符,逻辑运算符;
三目运算符;
Empty 关键字;
操作的代码如下:
<%
request.setAttribute("num1",10);
request.setAttribute("num2",3);
request.setAttribute("flag1",true);
request.setAttribute("flag2",false);
%>
<h1>算数运算符</h1>
<h2>num1=${num1 },num2=${num2 }</h2>
<h2>num1+num2=${num1+num2 }</h2>
<h2>num1-num2=${num1-num2 }</h2>
<h2>num1*num2=${num1*num2 }</h2>
<h2>num1/num2=${num1/num2 }</h2>
<h2>num1%num2=${num1%num2 }</h2>
<h2>num1*(num1-num2)=${num1*(num1-num2) }</h2>
<h1>关系运算符</h1>
<h2>flag1=${flag1 },flag2=${flag2 }</h2>
<h2>与操作flag1 && flage2:${flag1 && flage2 }</h2>
<h2>或操作flag1 || flage2:${flag1 || flage2 }</h2>
<h2>非操作!flag1:${!flag1}</h2>
<h1>三目运算符</h1>
<h2>三目操作:num1>num2:${num1>num2?"yes":"no" }</h2>
<h1>empty关键字</h1>
<h2>判断空操作:${empty a }</h2>
显示的效果如下:EL表达式介绍到此。