您现在的位置是:首页 > 后台技术 > JavaJava

JSP简要记录

第十三双眼睛2019-07-27【Java】人已围观

简介这节主要记录JSP中一些有用的东西

JSP种可以有三种内容:
1脚本
输出脚本<%=表达式%>:主要用来在页面种生成内容
普通脚本<%java代码%>:主要是JAVA逻辑,不会再页面上输出内容
声明脚本:主要用来定义方法
<%! public int add(int num1,int num2){
        return num1+num2;
}%>
2HTML源码,写法和在HTML中一样
3注释:
脚本注释,其实就是java注释,分为单行注释和多行注释,和JAVA中一样       会被翻译到源码中  不建议采用
html注释,和html注释一样<!---  注释内容->  也会被翻译到源码中   会被传送给客户端    不建议采用
jsp注释:<%_-- jsp注释--%>   不会翻译到源码中,建议采用这个
4指令
page指令<%@page 属性名="属性值"  属性名="属性值"%>作用:声明整个Jsp的一些属性
常见属性:如lanuage="java" 指明jsp语言为java语言
import="包名.类名" 实际上就是导入要使用的类,引入多个类时,中间用逗号隔开或者使用多个import指令,但是不能再一条page指令里有多个一样的属性
pageEncoding="utf8"指定编码集
session=true,访问改页面的时候,就创建session
errorPage="error.jsp"当有错误的时候,跳转到error.jsp
isErrorPage="true"表明当前页面时错误页面
taglib指令(结合jstl使用)<%@taglib uri="" prefix="" %>作用:引入jstl指令集
include指令(了解,用的很少)
<%@include file=""%>作用:将其他的页面到当前页面,这种引入方式叫做静态引入,相当于把其他页面的内容复制到当前页面,会有风险。
5动作
语法<jsp:include page="file">,动态引入,相当于把要引入的页面的内容执行后的结果复制到当前页。

JSP内置对象:
JSP中有9个内置对象,JSP翻译称为JAVA的时候,自动创建,不用开发人员关系,直接使用即可。
1request:相当于HttpServletRequest
2response:相当于HttpServletResponse
3out :相当于PrintWriter
4session:相当于HttpSession
5page:相当于java中的this
6config:jsp的配置信息
7exception:如果此页面是错误页面,则可以使用异常对象
8application:ServletContext对象,一个项目有一个
9pageContext:也是一个作用域,比request还要小,只限于当前页面,但是pageContext可以去获取其他8个对象

el表达式(expression language)
再java代码中写html代码,可读性差,如servlet,再html中写java代码一样,如jsp,el表达式就是替换脚本里的输出脚本<%=输出内容%>
el表达式也可以做一些变量的运算
el表达式也可以直接获取作用域中的数据
语法:${作用域.键名称},${pageScope.键名称}  ${requestScope.键名称}  ${sessionScope.键名称}  ${applicationScope.键名称}
如果是取对象类型数据则是${作用域.键名称.属性名},如${requestScope.person.name},取得就是request中得键位person对象的name属性
如果作用域里没有数据,用输出脚本打印出来的是null,通过el表达式打印出来的是空白
el表达式只能做数字的运算,不能做字符串的运算,数字的运算可以有+ - * / % 和逻辑运算,and or not 比较运算> >= < <= == !=

jstl
el表达式虽然强大,但是不能做流程控制,如果在jsp中做流程控制,如if判断,for循环,这时候,就需要使用jstl了
要使用Jstl,则要先导入jstl指令集
<%@taglib uri="" prefix="c"%> 要想使用这个指令,需要先在项目中引入一个jar包
c:if
<c:if test="el表达式">显示的内容</c:if>,test属性必须是一个el表达式,el表达式中做字符判断时,可以用==,而且,“和‘没有区别
c:choose(类似java中的switch case)
<c:choose test="">
<c:when test="el表达式">显示的内容</c:when>
<c:otherwise>显示的内容</c:otherwise>
</c:choose>
c:forEach
<c:forEach items="el表达式" var="" begin="1" end="10" varStatus="s" step=""></c:forEach> 
items里是要循环的集合 var中的属性值相当于对象引用, begin时起始下标,end是结束下标,s有index,和count属性,index是下标,count是行号
step表示步长,表示每次循环递增数
 c:set
作用是到作用域赋值
<c:set value="zhansan" scope="request" var="name"></c:set>value表示要放入的值,scope表示要放入哪个作用域,name表示键名称





 

Tags:JSP

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计242篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们