javaweb:JSP、JSTL标签和EL表达式()

  本篇文章为你整理了javaweb:JSP、JSTL标签和EL表达式()的详细内容,包含有 javaweb:JSP、JSTL标签和EL表达式,希望能帮助你了解 javaweb:JSP、JSTL标签和EL表达式。

  据我理解,标签是为了使得jsp内容更加简洁,编写起来更加方便,不用再去在jsp里写大段的java代码,标签就显得与html格外契合;当然,并不是一定要使用标签,只用jsp的语法来写java代码也可以实现功能,只是稍显繁琐。

  言归正传,我们在使用标签之前首先需要导入两个依赖

  

 dependency 

 

   groupId javax.servlet.jsp.jstl /groupId

   artifactId jstl-api /artifactId

   version 1.2 /version

   /dependency

   dependency

   groupId taglibs /groupId

   artifactId standard /artifactId

   version 1.1.2 /version

   /dependency

 

  导入以来之后,我们的标签就可以使用了。

  

  1.JSP标签

  常用的JSP标签有三个,分别为

   jsp:include page="" /jsp:include

   jsp:forward page="" /jsp:forward

   jsp:param value="" name=""/

  第一个标签是用来进行网页之间的拼接,page里面写入的是需要拼接页面的路径,前面在网页拼接中已经使用过,在此就不再展示效果;

  第二个标签是请求转发,page里面写入的是请求转发到的页面的路径;

  第三个标签是通常与上面两个标签混合使用,它的作用是携带一些参数,获取这些参数的方法是request.getParameter(String key),接下来我们结合第二个请求转发的标签做一下测试

  首先定义两个页面,一个是pa1.jsp,一个是pa2.jsp

  pa1.jsp

  

 %@page import="java.net.URLEncoder"% 

 

   %@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%

   !DOCTYPE html

   html

   head

   meta charset="UTF-8"

   title ja1 /title

   /head

   body

   jsp:forward page="ja2.jsp"

   jsp:param value="jms" name="name"/

   jsp:param value="100" name="age"/

   /jsp:forward

   /body

   /html

 

  pa2.jsp

  

 %@ page language="java" contentType="text/html; charset=UTF-8"

 

   pageEncoding="UTF-8"%

   !DOCTYPE html

   html

   head

   meta charset="UTF-8"

   title ja2 /title

   /head

   body

   h1 姓名: %= request.getParameter("name") % /h1

   h1 年龄: %= request.getParameter("age") % /h1

   /body

   /html

 

  我们访问pa1.jsp,看一下能不能请求到pa2.jsp并读取到数据

  

  

  没有问题。

  

  2.JSTL标签

  常用的JSTL标签是核心标签了

  第一步:引用核心标签库的语法: %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" % ,将这一句话加在jsp文件的开头;

  我们来说一些常用的标签

  (1). c:if /c:if 和 c:out/

   c:if /c:if 就还跟程序中的if是一样的,它具有以下三个属性:

  test:if的判断条件语句,是必须的;

  var:储存条件结果的变量,就是定义一个变量值为true或false,非必须;

  scope:var属性的作用域,默认是当前页面(page),非必须;

   c:out/ 就是输出语句,也具有三个属性:

  value:输出的内容,必须;

  default:输出的默认值,默认就是主题内容,非必须;

  escapeXml:是否忽略XML特殊字符。默认是true,非必须;

  下面我们来看一下这两个标签的实际用法:

  建立一个页面coreif.jsp

  

 %@ page language="java" contentType="text/html; charset=UTF-8"

 

   pageEncoding="UTF-8"%

   %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%

   !DOCTYPE html

   html

   head

   meta charset="UTF-8"

   title coreif /title

   /head

   body

   form action="coreif.jsp" method="get"

  用户名: input type="text" name="username" value="${param.username }" br

   input type="submit" value="登录" br

   /form

   c:if test="${param.username == guanliyuan001}" var="logined"

   c:out value="登陆成功" /c:out

   /c:if

   c:out value="${logined }" /c:out

   /body

   /html

 

  

  然后我们输入用户名为“guanliyuan001”再登陆

  

  (2). c:set/ 和 c:choose /c:choose

   c:set/ 适用于保存数据的标签,它具有五个属性:

  var:储存信息的变量;

  value:储存的值;

  scope:作用域,默认是当前页面(page);

  还有两个属性 不常用,在此就不做介绍了。

   c:choose /c:choose 与java switch语句和if else if else语句功能相似,他还有两个子标签 c:when /c:when 和 c:otherwise /c:otherwise

  具体语法如下:

   c:choose

   c:when test =""

   ...

   /c:when/

   c:when test =""

   ...

   /c:when/

   c:when test =""

   ...

   /c:when/

   ...

   c:otherwise

   ...

   /c:otherwise

   /c:choose/

  下面我们来看一下这两个标签的实际用法:

  建立一个页面setchose.jsp

  

 %@ page language="java" contentType="text/html; charset=UTF-8"

 

   pageEncoding="UTF-8"%

   %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%

   !DOCTYPE html

   html

   head

   meta charset="UTF-8"

   title setchoose /title

   /head

   body

   form action="setchoose.jsp" method="get"

  成绩 input type="text" name="s" value="${param.s }" br

   input type="submit" br

   /form

   c:set var="score" value="${param.s }"/

   c:choose

   c:when test="${score = 90 }"

   h1 成绩优秀 /h1

   /c:when

   c:when test="${score = 80 }"

   h1 成绩良好 /h1

   /c:when

   c:when test="${score = 70 }"

   h1 成绩一般 /h1

   /c:when

   c:when test="${score = 60 }"

   h1 成绩及格 /h1

   /c:when

   c:when test="${score = 0 }"

   h1 成绩不及格 /h1

   /c:when

   c:otherwise

   h1 /h1

   /c:otherwise

   /c:choose

   /body

   /html

 

  

  

  

  

  

  

  

  (3). c:forEach /c:forEach

  这个标签封装了java的for、while、dowhile循环,它具有以下属性:

  

  


 %@page import="java.util.ArrayList"% 

 

   %@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%

   %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%

   !DOCTYPE html

   html

   head

   meta charset="UTF-8"

   title foreach /title

   /head

   body

   ArrayList String arry = new ArrayList ();

   arry.add("this is 1");

   arry.add("this is 2");

   arry.add("this is 3");

   arry.add("this is 4");

   arry.add("this is 5");

   request.setAttribute("number", arry);

   c:forEach var = "num" items="${number }"

   c:out value="${num }"/ br

   /c:forEach

   c:forEach var = "i" begin="1" end="5"

   i = c:out value="${i }"/ br

   /c:forEach

   /body

   /html

 

  

  3.EL表达式

  EL 表达式语法如下:

  ${EL表达式}

  

  (本文仅作个人学习记录用,如有纰漏,敬请指正)

  以上就是javaweb:JSP、JSTL标签和EL表达式()的详细内容,想要了解更多 javaweb:JSP、JSTL标签和EL表达式的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: