博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP
阅读量:6091 次
发布时间:2019-06-20

本文共 2907 字,大约阅读时间需要 9 分钟。

JSP的修改:

只需要刷新页面即可,不需要重新部署项目或者重启服务器!

 

JSP表达式:

语法<%=       %>

注意:1、JSP表达式中不能使用 " ; ";

        2、JSP表达式中不能出现多条语句;

        3、JSP表达式中的内容一定是字符串类型,或者通过toString函数转换成字符串类型。

 

JSP脚本:(本质就是一个方法,所以不能在脚本中定义方法

语法:<%        %>

其中变量的定义和使用有先后顺序。

 

JSP声明:

语法:<%!       %>

定义的变量是Page级别中,系统会优先执行。

注意:JSP声明只能定义,不能实现控制逻辑。

    

JSP指令:为JSP引擎设计。提供整个JSP页面的相关信息,并且设定JSP页面的相关属性。(区分大小写)

JSP指令有3个指令:pageincludetaglib

1、page指令:JSP页面一般以page指令开头

    设置属性:(下面所有设置仅供参考

    a、输出内容的类型:contentType=text/html

    b、字符集:charset=utf-8

    c、导入需要的类:import="包名.类名"

    d、跳转错误页面:errorPage="错误页面的URL"        

     f、指定错误页面:isErrorPage="false"

    g、会话是否创建:session="true"

    h、设置客户端输出内容时缓冲区的大小:buffer="8kb"   默认为8kb

    i、是否自动清空缓冲区:autoflush="true"       false:缓冲区溢出时抛出一个异常

    j、页面的说明信息:info=""

    k、是否允许并行访问:isTheadSafe="true"

    l、是否禁用EL表达式:isELingored="false"

    m、页面语言:Java

    n、转换成Servlet的父类:extend=""

 

2、include指令:代码的重用

    语法:<%@ include file="文件名"%>

   注意:include指令在编译的时候就将对应的文件包含进来,等价于将该文件中的代码复制。

   缺点:1、当文件中内容被更新,包含文件的JSP页面不能及时的更新。

           2、文件中不能定义与包含文件的JSP页面相同的变量。

           3、不能携带参数

 

3、taglib标签库(JSTL)

    (暂时不更新

        

JSP动作: 

  JSP:include       (当页面被请求的时候引入一个文件)

  JSP:forward      (将请求转到另一个页面)

  JSP:useBean     (获得JavaBean的一个实例)

  JSP:setProperty (设置JavaBean的属性)

  JSP:getProperty (获得JavaBean的属性)

  JSP:plugin         (根据浏览器类型为Java插件生成object或者embed两种标记)

 

1、JSP:include:会把文件的输出包含进来

     语法:<%jsp:include page="文件名"%>

     使用include动作向包含文件传参:

    <jsp:include  page="文件名">

    <jsp:param name="参数名" value="参数值">

    </jsp:include>

     (注意:直接访问包含文件时,无法获取参数,取出来为null。该参数只能在包含文件的JSP页面使用。)

    获取参数:String param=request.getParameter("param");

 

    include动作和include指令的区别:

    a、include指令相当于复制,编辑时将对应的文件包含进来,当内容变化时,不会再一次对其编译,不易维护。

    b、include动作会自动检查被包含文件,当客户端对JSP文件进行请求时,将会重新将对应的文件包含进来,进行实时的更新。

    

 

2、JSP:forward   页面的跳转

     语法:<jsp:forward page="文件名">

     当forward动作被执行之后,当前页面后面的代码将不再执行,直接执行跳转之后页面的代码。

     使用forward动作向跳转页面传参:

     <jsp:forward page="跳转页面">

     <jsp:param name="参数名" value="参数值">

    </jsp:forward>

     获取参数:String param=request.getParameter("param");

 

3、JavaBean的使用

    JSP和JavaBean的混合使用,可以提高系统的可扩展性,JavaBean也能对数据进行良好的封装。

    JavaBean支持两种组件:可视化组件、非可视化组件

    a、可视化组件:开发人员可以在运行的结果中看到界面效果。

    b、非可视化组件:一般不能观察到,其主要用在服务器端。

    JSP只支持非可视化组件。

    JavaBean有广义的定义和狭义的定义:

    a、广义的定义:一个普通的Java类

    b、狭义的定义:严格按照JavaBean规范编写的Java类。

    语法:<jsp:useBean id="" class="" scope=""></jsp:useBean>

    id:JavaBean对象的名字  class:实例化的类    scope:作用范围(page、request、session、application)

    想要清除JavaBean对象,可以调用removeAttribute("JavaBean对象的名字");

 

4、JSP:setProperty

    a、 当属性值的来源是String时:

    语法:<jsp:setProperty  property="JavaBean中定义的属性名" name="JavaBean对象的名字" value="常量">

    b、当属性值的来源是request时:

   语法:<jsp:setProperty  property="JavaBean中定义的属性名" name="JavaBean对象的名字" param="表单定义的属性名">

     jsp:setProperty和setting方法是等价的!!!

     

5、JSP:getProperty

     语法:<jsp:getProperty property="JavaBean中定义的属性名"   name="JavaBean对象的名字">

     获取bean实例使用getProperty不需要param。

     

     JavaBean注意事项:

        a、当JavaBean中需要定义boolean类型的属性时,属性名不能定义以is开头,封装的时候调用的是is方法。

        b、 JavaBean中定义的属性名和表单定义的属性名一定要一致;当不一致的时候:两者各写各的属性名;一致的时候,param可以不声明。

        c、name属性其实就是你定义useBean的id。

        d、当作用范围使用request、session、application时,需要在不同的页面调用该useBean时,也必须将jsp:useBean定义,然后使用jsp:getProperty调用属性!

 

6、plugin

    (暂时不更新

转载于:https://www.cnblogs.com/darren0415/p/6017542.html

你可能感兴趣的文章
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>