当前位置: 首页 > news >正文

jsp指令和动作

1.page指令:描述页面信息

pageENcoding:软件编码

contentType:浏览器编码

2.include指令:将多个网页合成一个网页,静态包含网页

问题:1.在网页源代码中,会形成错误的多遍代码,将主页面代码和副页面各删除一半。

           2.多个网页中的代码不能有任何冲突

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ include file ="NewFile.jsp" %><h3>这位是一个主网页1</h3>
<h3>这是另一个网页的变量:<%=a %></h3>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>这是一个导航栏</h3>
<h3><% int a=12;%></h3>

 

查看网页源代码

 

完整代码

 

3.include动作

jsp动作:include,param,forward

基本语法:

1.<jsp:include page=""/>

2.<jsp:include page="">

包含网页传递数据

include指令:静态包含,代码复用,一起生成网页,

注意:被包含网页不需要写部分网页代码,一起编译执行,运行1次,运行效率高

include动作:动态包含,结果复用,共同生成网页,

注意:被包含网页不需要写结构网页代码,一起编译执行,运行多次,运行效率低

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="NewFile1.jsp"/>
<h3>这是一个网页1</h3>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html><h3>次级网页</h3>

4.param动作

param动作:向其他网页传递数据

用法:<jsp:param value="值" name="值对应的名字">

注意事项:动作不能单独使用,要和其他动作一起使用

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="NewFile1.jsp">
<jsp:param value="18" name="age"/>
</jsp:include>
<h3>这是一个网页1</h3>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html><h3>次级网页</h3>
<%String s = request.getParameter("age");out.print(s);%>

传递中文乱码:数据传输和数据接收编码

解决方法:在发送和接收的网页中添加<%request.setCharacterEncoding("UTF-8");%>

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><%request.setCharacterEncoding("UTF-8");%>
<jsp:include page="NewFile1.jsp">
<jsp:param value="12" name="id1"/>
<jsp:param value="12.34" name="id2"/>
<jsp:param value="张红" name="id3"/>
</jsp:include>
<h3>这是一个网页1</h3>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html><h3>次级网页</h3>
<%request.setCharacterEncoding("UTF-8");String s = request.getParameter("id1");String s1 = request.getParameter("id2");String s2 = request.getParameter("id3");Double b = Double.parseDouble(s1)+10;//把s字符串转换为double类型Integer i=Integer.parseInt(s)+10;//首字母大写是类名String s5=b + "";out.print(s);out.print(s1);out.print(s2);
%>

forward:跳转到新页面

跳转到新页面

语法:1.<jsp:forward page=“relativeURL”>不用传参数

2.<jsp:forward page="要转向的页面" >

使用param动作传递数据

<jsp:param name= "paramterName" value= " parametrValue" />传参数

</jsp:forward>

注意:用forward跳转后的页面显示的网址是跳转之前的网页

执行forward代码后不在执行

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><h3>这是主页面</h3><%-- <jsp:forward page="NewFile1.jsp"/>  --%><%request.setCharacterEncoding("UTF-8");%><jsp:forward page="NewFile1.jsp" ><jsp:param name= "张三"  value= "name" /></jsp:forward> <% request.setAttribute("id", "18");   %></body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><%request.setCharacterEncoding("UTF-8"); %> <h3>这是跳转网页</h3><%String s = request.getParameter("name");%><%out.print(request.getAttribute("id"));%><h3>登录成功,欢迎</h3>
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><h3>这是主页面</h3><%-- <jsp:forward page="NewFile1.jsp"/>  --%><%request.setCharacterEncoding("UTF-8");%><% request.setAttribute("id", "18");   %><jsp:forward page="NewFile1.jsp" ><jsp:param name= "张三"  value= "name" /></jsp:forward> </body>
</html>

 

http://www.lryc.cn/news/327146.html

相关文章:

  • 手撕算法-最小覆盖子串
  • TrOCR—基于Transformer的OCR入门
  • WIN使用LPD协议来共享打印机含统信UOS
  • huawei 华为 交换机 配置 LACP 模式的链路聚合示例 (交换机之间直连)
  • c++ 有名对象和匿名对象
  • day 36 贪心算法 part05● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
  • 【数据结构与算法】快速排序(详解:快排的Hoare原版,挖坑法和双指针法|避免快排最坏时间复杂度的两种解决方案|小区间优化|非递归的快排)
  • 三位数组合-第12届蓝桥杯选拔赛Python真题精选
  • Mongodb入门到入土,安装到实战,外包半年学习的成果
  • 【C++初阶】之类和对象(下)
  • Spring Boot 3 极速搭建OAuth2认证框架
  • 大数据开发(离线实时音乐数仓)
  • Python读取csv文件入Oracle数据库
  • Linux_进程概念_冯诺依曼_进程概念_查看进程_获取进程pid_创建进程_进程状态_进程优先级_环境变量_获取环境变量三种方式_3
  • Set A Light 3D Studio中文--- 打造专业级3D照明效果
  • 【深度学习】基于机器学习的无机钙钛矿材料形成能预测,预测形成能,神经网络,回归问题
  • 20240321-2-Adaboost 算法介绍
  • python第三方库的安装,卸载和更新,以及在cmd下pip install安装的包在pycharm不可用问题的解决
  • Python第三次作业
  • ai写作软件选哪个?这5款风靡全球的工具不容错过!
  • 信号处理与分析——matlab记录
  • Android Databinding 使用教程
  • 【每日跟读】常用英语500句(200~300)
  • 【Java开发过程中的流程图】
  • 蓝桥杯刷题-day5-动态规划
  • 新概念英语1:Lesson7内容详解
  • FASTAPI系列 14-使用JSONResponse 返回JSON内容
  • 【版本控制】git使用指南
  • Flask 与小程序 的图片数据交互 过程及探讨研究学习
  • 【JavaEE】初识线程,线程与进程的区别