当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

JavaWeb学习(1) JSP - Ryan的修炼之路

作者:小梦 来源: 网络 时间: 2024-06-29 阅读:

JSP注释

<%-- 注释内容 --%><!-- 注释内容 -->

第一种为jsp注释方法, 第二种为html注释方法. 两个都可以用于页面注释, 但是在页面查看源代码只能看到html注释方式 无法看到jsp注释

JSP声明

一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:

<%! 声明内容 %>

JSP输出方式

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:

<%= 表达式 %>
<html><head><title>Hello World</title></head><body>Hello World!<br/><!--声明变量count--><%    public int count;%><br><!--使用表达式输出变量count--><%= count++%></body></html>

JSP指令与动作

常用的有page、include、taglib指令这三种指令;

page指令

位于页面顶端,一个页面可以包含多个page指令
<%@ page 属性=“属性值”%>

include指令

将一个外部文件嵌入jsp中,同时解析这个页面中的jsp语句。
语法 <% include file="地址"%>

taglib指令

使用标签库,自定义新的标签,在jsp中启动定制行为。

include动作

include动作(动作标签)
<jsp:include page="URL" flush="true/false" />
如果要传递额外参数使用:

<jsp:include page="URL" >    <jsp:param name="age" value="32"/></jsp:include>

属性

  • page 包含在页面中的相对URL地址。

  • flush 布尔属性,定义在包含资源前是否刷新缓存区。

与include指令区别

|属性| inclue指令| include动作|
| ---- |---- |--- |
| 发生作用的时间 | include指令在页面转换期间 | include动作在请求期间 |
| 包含的内容 | include指令包含文件实际内容(在编译文件里主页面和包含页面是组合成一个的类 | include动作包含页面的输出(在编译文件里主页面和包含页面是两个独立的类) |
| 转换成的Servlet | include指令主页面和包含页面转换为一个Servlet | include动作主页面和包含页面转换为独立的Servlet |
| 编译时间 | include指令较慢(因为资源必须被解析)| include动作较快 |
| 执行时间 | include指令较快 | include动作较慢(因每次资源必须被解析)|

forward 动作

  1. forward动作:
    <jsp:forward page="URL">

等同于服务器内部跳转指令
request.getRequestDispatcher("/URL").forward(request,response)

  1. 如果forward转发时需要增加额外的请求参数, 使用语法

<jsp:forward page="URL">    <jsp:param name="age" value="29"/></jsp:forward>
  1. 增加的参数值可以在目标页面通过HttpServletRequest的getParameter()方法获取
    `<%= rquest.getParameter("age")%>

`

  1. 在执行forward动作时候,用户请求的地址栏不会发生改变, 页面的内容却变为forward目标页内容

param动作:

<jsp:param name="参数名" valus="参数值">
常与forward, include, plugin一起使用,作为其的子标签,用于传递新参数或者修改原有参数值,修改参数时使用form表单里的参数名称即可。同样用request.getParameter("参数名")获取。

热点阅读

网友最爱