一、EL表达式
EL表达式提供了JSP中简化表达式的方法,语法结构:${ expression} ,其采用“.”或者“[]”两种方式来存储数据,当表达式中存在除了字母或者数字之外的特殊符号时,必须用“[]”。
其他EL内容包括操作符、隐式对象见度娘,现重点讲解此次我用到的两种隐式对象,
一种: <%=request.getParameter("userName")%> 其等价于 ${param.userName};
另一种:<%=request.getAttrbute(userList)%> 其等价于 ${requestScope.userList} 。
当${"userList"}时,搜寻顺序为:pageScope,requestScope,sessionScope,applicationScope。
二、传值
1. 页面之间传值(jsp跳转至另一个jsp)
<a href="/test/toTest2.jsp?id='2'&name='test2'"></a>
析:此处是通过URL进行参数传值的,toTest2.jsp为要提交的处理页面,“?”之后为要传递的参数和值,参数之间用“&”分割。在toTest2.jsp页面中,我们可以通过EL表达式的隐式对象取值,即:${param.id};${param.name}。
Form表单的形式
例如:<form action=”${path}/test/addAction!add.action”method=”post”>
<input type=”text” name=”username”></form>
前端通过form表单的形式提交给服务器,服务器端可以通过java代码获取参数:String username = request.getParameter(“username”);
同时服务器端可以将数据通过request.setAttribute(“name”,username);返回给前端页面,前端页面通过${name}获取值。
例如:<input type = “hidden” name=”id” value=”${param.id}”>
可以在form表单中加入隐藏域,在前端不显示的基础上,增加我们需要传入到后台的参数。
它把任何数据类型封装在javaBean中,我们在属性中定义需要传递的参数,然后加入get和set方法就可以了。
例如:public class TestUser{
Private String username;
Public void setUsername(String username){
This.username=username;
}
Public String getUsername(){
Return username;
}
}