实习中接触到的JSP知识

作者: 雾里看花最是迷人 | 来源:发表于2017-03-10 16:50 被阅读61次

JSP主要用于动态WEB开发,打开一个JSP页面,会发现主要是由HTML和JAVA代码构成,在学校刚开始接触到JSP时,就是采用HTML中嵌入JAVA代码的写法(<% 若干java语句 %>),但是这样存在一个问题就是:整个JSP看起来很乱,尤其是JAVA代码中包含循环和判断时。因此,便有了后来的EL表达式和JSTL标签,用来替换掉JSP中的JAVA代码,使整个JSP看起来整洁。

EL表达式:###

1.输出内容
使用 ${输出内容}这种形式来代替<%=JAVA代码%>进行输出

  • ${name},name为域中定义的变量,能获取到值则输出获取的值,否则不输出
  • ${map["name"]},获取map中的值,也可以使用${map.name}
  • ${object.getName()},object为类对象,调用getName()方法获取值



    2.执行运算
  • 普通计算。${1+2},会输出3
  • 类型转换。${"1"+2},会将2转化为字符2进行拼接,输出12
  • 比较运算。${2>1},会输出true
  • 空值判断。${empty(name)},会判断name是否为空,输出true或者false,也可以判断对象是否为空、域中是否有属性
  • 三元表达式。${2>1?"是" : "否"},会输出是

JSTL标签:###

!!使用myeclipse开发的话,里面会自带有jstl标签库,所以不需要导入包
!!使用eclipse开发,需要以下步骤:

  1. 导入jstl.jar和standard.jar两个jar包
  2. 在WEB-INF目录下导入c.tld文件
  3. 在web.xml中进行配置
    <pre><jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    </jsp-config>
    </pre>最后在jsp中引用
    <pre><%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%></pre>

列举几个常用标签:
1. c:out 中的特殊字符会原样输出
<pre><c:out value="<a href='www.baidu.com'>xxx</a>" escapeXml="false"></c:out></pre>注:escapeXml控制是否转义,默认为true,即不转义,是什么就输出什么(value中的值)。例子中设置escapeXml为false,则会进
行转义输出,即输出xxx





**2. ** c:set 可以更改域中的值
<pre><c:set var="name" value="hahaha"></c:set></pre>注:更改域中名为name的值,若不存在,则添加name





3. c:if做判断
<pre><c:if test="${2>1}">
2是大于1
</c:if></pre>注:test接收一个bool型的数,如果为true就执行c:if里面的代码,否则没变化





4. c:forEach可以遍历
<pre><c:forEach begin="1" end="10" step="2" var="i">
${i}
</c:forEach></pre>上述代码相当于
<pre>for(int i = 1; i <= 10; i+=2){
System.out.print(i);
}</pre>可以在forEach中添加if判断,如下
<pre><c:forEach begin="1" end="10" step="1" var="i" varStatus="stat">
<c:if test="${stat.index % 2 == 0 }">
<font color="red">
${i }
</font>
</c:if>
<c:if test="${stat.index % 2 != 0 }">
${i }
</c:if>
</c:forEach></pre>输出1~10,如果是偶数,设为红色,否则,正常输出
该标签中有个varStatus,它有几个属性
index —— 当前数
count —— 目前的总数
first —— 现在指到的成员是否是第一个成员,返回类型为boolean
last —— 现在指到的成员是都是最后一个成员,返回类型为boolean





5. c:forTokens可以分割字符串
<pre><c:forTokens items="www.baidu.com" delims="." var="i">
${i}
</c:forTokens></pre>注:items表示需要切割的字符串,delims表示以什么为准进行切割,例子中是以点,var用于记录切割的字符片段





6. c:import可以包含页面
<pre><c:import url="/index.jsp">
</c:import></pre>上面这种方式是直接把页面包含进来

<pre><c:import url="/index.jsp" var="p" scope="page">
</c:import>
xxx
${p}
yyy</pre>上面这种方式则是把页面以page类型存入p中,然后在需要的位置输出p即可





7. c:url可以保存url
<pre><c:url value="/index.jsp" context="${pageContext.request.contextPath }" var="u" scope="page">
</c:url>
<a href="${u}">www.abc.com</a></pre>把url保存在u中,在需要的位置直接使用





8. c:redirect页面重定向
<pre><c:redirect url="/index.jsp" context="${pageContext.request.contextPath}">
<c:param name="name" value="huang">
</c:param>
</c:redirect></pre>c:param标签是用于保存放在url中的数据

相关文章

  • 实习中接触到的JSP知识

    JSP主要用于动态WEB开发,打开一个JSP页面,会发现主要是由HTML和JAVA代码构成,在学校刚开始接触到JS...

  • 实习中接触到的数据库知识

    在数据库方面,主要是涉及到之前没有接触或者接触很少的知识点。比如存储过程、select top实现数据分页、短路表...

  • 2018-07-19

    jsp的内置对象 内置对象以及四中作用域 jsp内置对象简介 jsp作用域简介:核心知识点 request内置对象...

  • java 面试

    一、javaWeb知识点: jsp和servlet的区别 jsp本质就是Servlet,jsp的工作原理是:JSP...

  • jsp学习 EL JSTL C标签

    JSP 第一个JSP程序 JSP对比servlet JSP中java脚本元素 JSP原理 JSP的翻译规则 JSP...

  • 实习的意义

    在短暂的实习过程中,我采用了看、问,亲自动手等方式,我深深地感觉到自己所学知识的肤浅,接触到实际,才发现自...

  • 23.JSP语法

    JSP语法: 1、JSP的注释: 2、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java...

  • HttpClient 学习笔记(持续更新中)

    本文是博主在实习阶段所接触到的业务中所学到的关于HttpClient知识点总结。 前言 HttpClient是通过...

  • 第 02 章 JSP

    第 02 章 JSP 该部分代码在webapp-serlet中的jsp页面中展示; JSP概述 什么叫JSP?JS...

  • 13 1 25 你的改变“冲上云霄”

    接触了三年多学前教育理论知识,真正接触到幼儿是在上个学期为期三个多月的实习生活中。我在公幼月亮小班见识到了很...

网友评论

    本文标题:实习中接触到的JSP知识

    本文链接:https://www.haomeiwen.com/subject/jgqogttx.html