EL表达式与JSTL表达式

EL表达式与其作用

  • Expression Language(表达式语言),目的是代替JSP中复杂代码
  • EL表达式语法: ${变量名}
  • 作用: 用于得到变量中的数据

 

例:在Servlet中将数据存入到request作用域中,转发到目的页面:

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//1.获取数据
		String name = (String) request.getParameter("name");
		String age = (String) request.getParameter("age");
		//保存在request中
		request.setAttribute("name", name);
		request.setAttribute("age", age);
		//转发页面
		request.getRequestDispatcher("/2.jsp").forward(request, response);
		
	}

 在目的页面中利用EL表达式可以获取到数据:

<body>
  	姓名:${name}<br>
  	年龄:${age}<br>
 </body>

 

 

JSTL  

  • JSP标准标签库(JavaServerPages Standard Tag Library)
  • JSTL与EL的关系 : 两者通常合作实现JSP页面编码

 

JSTL开发准备

 

  • 在JSP页面中添加taglib指令: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • 使用JSTL需要导入jstl-1.2.jar

为什么要是用JSTL?

 

 

  • 1、在JSP页面中不建议直接书写java代码(EL表达式和JSTL便签结合使用,可以减少JSP中嵌入的Java代码,有利于程序的维护和扩展)
  • 2、EL表达式虽然可以解决“不用书写java代码”的问题,但是对于复杂的数据(如数组,集合等)的取值会很麻烦
  • 3、使用JSTL标签配合EL表达式能够很好的解决复杂类型数据的问题,简化代码书写

JSTL 常用标签

通用标签: set   out   remove

set标签: 将值保存在范围为scope的变量variable中, scope可选的四个值为:  request,

<c:set var="username" value="张三"  scope=" scope " />

 

out标签: 将结果输出显示

<c:out value="value"/>

 

remove标签: 删除指定域内数据

<c:remove var="username" scope="session"/>

 

条件标签: if  choose

if标签:   判断test中的值,如果为true,执行标签中的内容

<c:if  test="${age == 12}">

    <!--条件为真时要执行的内容-->

</c:if>

 

choose标签: 功能同java 中的if...else... ,需要同when和otherwise一起使用

<c:choose>

    <c:when test="${age==12}">

        条件为真时执行

    </c:when>

    <c:otherwise>

        条件为假时

    </c:otherwise>

</c:choose>

 

迭代标签:   forEach   用于迭代集合

在Servlet中传送了一个保存了数据的list集合,在JSP中用forEach标签取出数据:

<c:forEach items="${lists}" var="Map">

    ${Map.shopName}  ${Map.address}   ${Map.price}

</c:forEach>

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值