IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JSP页面元素、包含(include) -> 正文阅读

[JavaScript知识库]JSP页面元素、包含(include)

页面元素:
jsp里含的东西 说实话挺杂的 主要也是前端的部分语言和Java语言

  1. 静态内容
    就是html,css,javascript等内容
  2. 指令
    以<%@开始 %> 结尾,比如<%@page import=“java.util.*”%>
  3. 表达式 <%=%>
    用于输出一段html
  4. Scriptlet
    在<%%> 之间,可以写任何java 代码
  5. 声明
    在<%!%> 之间可以声明字段或者方法。但是不建议这么做。
  6. 动作
    <jsp:include page=“Filename” > 在jsp页面中包含另一个页面。
  7. 注释 <%-- – %>
    不同于 html的注释 通过jsp的注释,浏览器也看不到相应的代码,相当于在servlet中注释掉了

<%=“hello jsp”%>

就相当于

<%out.println(“hello jsp”);%>

out是jsp的隐式对象,可以直接使用。一共有9种隐式对象

注: <%=%> 不需要分号结尾,<%%> 需要以分号结尾,和java代码一样

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
 
<%="hello jsp"%>//类似 <%=new object()%> 
<br>
<% out.println("hello jsp");%>

JSP里也有for循环——结合for循环在jsp里输出html是常见的做法
麻烦的是每一段都需要<% %> 来加入Java代码 以及为显示在页面很有布局 还得在其外部套上html代码
示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<%
    List<String> words = new ArrayList<String>();
    words.add("today");
    words.add("is");
    words.add("a");
    words.add("great");
    words.add("day");
%>//里面纯Java代码
  
<table width="200px" align="center" border="1" cellspacing="0">//表的参数设置
  
<%for (String word : words) {%>
 
<tr>
    <td><%=word%></td>//以html形式输出
</tr>
 
<%}%>
  
</table>

包含的使用降低了维护的力度 使其在对多个网页相同的地方进行修改时不用挨个取检查修改 直接在每一个JSP中包含另一个JSP文件——用于修改这个特定之处。 之后对其修改时就只操作该JSP文件 不用挨个进行了

两种包含:
指令include
通过指令

<%@include file=“include.jsp” %>

在其他JSP中加入
使得其他jsp中包含该页面

动作include
通过动作

<jsp:include page=“footer.jsp” />

一样的操作 都是为了能够包含该页面——该JSP

但是他们的语法不一样

指令include和动作include的区别
之前谈及JSP最后会被转译成Servlet

如果是指令include

<%@include file=“include.jsp” %>

include.jsp的内容会被插入到其他.jsp 转译 成的include_jsp.java中,最后只会生成一个include_jsp.java文件

如果是动作include

<jsp:include page=“include.jsp” />

include.jsp的内容不会被插入到 其他.jsp 转译 成的include_jsp.java中,还会有一个include_jsp.java独立存在。include_jsp.java 会在服务端访问include_jsp.java,然后把返回的结果,嵌入到响应中。

因为指令<%@include 会导致两个jsp合并成为同一个java文件,所以就不存在传参的问题但是而动作<jsp:include />其实是对include.jsp进行了一次独立的访问,那么就有传参的需要

这样使得 在其他JSP文件中利用的是动作Include 那么就得加上

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

使用request.getParameter(“name”)取出其值
而相应的动作JSP里添加——<%=request.getParameter("name")%>

传参主要是需要修改在被包含的JSP文件里的某些数值 就可以通过传参的方法来修改
示例:

<jsp:include page="footer.jsp">
<jsp:param name="year" value="2017"/>
</jsp:include>
<p style="text-align:center">copyright@<%=request.getParameter("year") %></p>

之前的copyright@2016 经<%=request.getParameter(“year”) %>修改为copyright@2017

值得注意的是 在写需要在其他JSP中包含的JSP文件时 该被包含的JSP的就不需要在写一次以下的内容:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"  import="java.util.*"
    %>

否则会引起http500的报错 因为在其他JSP文件里已经有了这段声明

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 12:53:24  更:2022-03-06 12:54:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:48:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码