三、EL

本文通过四个案例详细介绍了JavaWeb中如何在Servlet和JSP中传递及使用数据,包括session和request的作用域,以及EL表达式的查找机制和动态运算。案例展示了动态读取JavaBean属性、隐式对象的使用,以及算术、关系和逻辑运算的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作用:动态读取JavaBean、隐式对象;动态算术运算

案例1,后端放数据,jsp中取出来,如下:

Servlet中写:

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		HttpSession secssion = request.getSession();//获取secssion
		secssion.setAttribute("name", "toy");//存放name值toy
		secssion.setAttribute("sex", "男");//存放sex值男
		request.getRequestDispatcher("index.jsp").forward(request, response);//转发到index页面
	}

jsp中写:

<h1>后端数据姓名:${sessionScope.name}</h1>
<h1>后端数据性别:${sex}</h1>

案例2,secssion.setAttribute与request.setAttribute区别,如下:

 Servlet中写:

HttpSession secssion = request.getSession();//获取secssion
		secssion.setAttribute("name", "toy");//存放name值toy
		request.setAttribute("sex", "男");//存放sex值男
		request.getRequestDispatcher("index.jsp").forward(request, response);//转发到index页面
	

jsp中写:

<h1>后端数据姓名:${sessionScope.name}</h1>
<h1>后端数据姓名:${name}</h1>
<h1>后端数据姓名:<%=session.getAttribute("name") %></h1>
<br>
<h1>后端数据性别:${sessionScope.sex}</h1>
<h1>后端数据性别:${requestScope.sex}</h1>
<h1>后端数据性别:${sex}</h1>

结论:

存取的位置对应,才能取出值。

不加sessionScope或requestScope时,系统会自动匹配,是用的最多的形式。

案例3,探讨查找机制,如下:

 Servlet中写:

HttpSession secssion = request.getSession();//获取secssion
		secssion.setAttribute("name", "secssion");//
		request.setAttribute("name", "request");//
		request.getRequestDispatcher("index1.jsp").forward(request, response);
	

jsp中写:

	<h1>sessionScope名:${sessionScope.name}</h1>
	<h1>requestScope名:${requestScope.name}</h1>
	<h1>简拼-----------名:${name}</h1>

结论:

1.简写取值优先级,从小范围到大范围检索,page,request,session,application,找到为止。

2.同时使用了request和session时,若取session中的值,必须用完全形式,而非简写。

案例4,运算-关系-逻辑,如下:

 Servlet与案例3一致,jsp中写:

	<!--算数-->
	<h1>后端num的数值:${num}</h1>
	<h1>后端num+1的数值:${num+1}</h1>
	<h1>后端num*2的数值:${num*2}</h1>
	<br>
	<!--关系-->
	<h1>后端num是否等于2:${num==2}</h1>
	<h1>后端num是否大于5:${num>5}</h1>
	<br>
	<!--逻辑-->
	<h1>后端num是否大于3或小于2:${num>3||num<2}</h1>
	<h1>后端num是否大于2且大于3:${num>2&&num>3}</h1>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的海螺呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值