jsp的七个动作指令

1)jsp:forward:执行页面转向,将请求的处理转发到下一个页面
语法:
<jsp:forward page="目标资源地址">
<jsp:parm name= "" value =" "/>
</jsp:forward>
执行forward时不会丢失请求参数

1.2018-3-13.3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:forward page="2018-3-13.4.jsp">
		<jsp:param value="lisan" name="name" />
	</jsp:forward>
</body>
</html>

 

2.2018-3-13.4.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=request.getParameter("name") %>
</body>
</html>

提示:
request是内置对象(HTTPServletRequest的实例),用getParameter获取参数
request补充说明:
每个request对象封装着一次用户请求,并且所有的请求都被封装在request对象中,jsp取得请求参数的途径是request(接口)
对参数

如下图:地址栏不改变,但是内容是 2018-3-13.4.jsp的信息;
(forward单词:有转发的意思,可以联想:你转发空间说说时,别人看到的仍然是你转发的动态(相当地址栏不变),还是以你为主,接下来才会显示转发的内容(为次,也就是转发页面的信息))


(对比表单请求提交参数)
2.2018-3-13.5.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="2018-3-13.6.jsp" method="post" id="login">
		<input type="text" name="username"> <input type="submit"
			value="确定">
	</form>
</body>
</html>



2.2018-3-13.6.jsp(输出)

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=request.getParameter("username") %>
</body>
</html>

如下图:
1.地址栏没有改变

当输入"hello jsp! "点击确定按钮后页面内容发生了改变,内容变成了2.2018-3-13.6.jsp页面的信息如下图:
(形象记忆:在百度搜索框输入不同的内容,点击搜索提交按钮,地址栏一直都会根据搜索内容不同而改变 ,搜索之前和搜索之后的地址栏是不同的)


表面上 <jsp:forward....../>动作指令将用户请求"转发"到另一个新的页面,但实际上,并没有重新向新页面发送请求,只是完全采用了新页面来对用户生成响应--请求依然是一次请求.

2)jsp:param:用于传递参数,必须与其他支持参数的标签一起使用
该指令用于设置参数,这个指令不能单独使用,单独使用没有实际意义,
可与以下三个指令结合使用:
jsp:include:将参数值传入被导入的页面
jsp:forward:将参数传入被转向的页面
jsp:plugin:将参数传入页面的JavaBean实例或者applet
格式:
<jsp:param value="参数值" name="参数名称" />

3)jsp:include:用于动态引入一个jsp页面
include是一个动态include指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面.
语法:
<jsp:include page="目标资源地址">
<jsp:param value="" name="" /><%--没有参数也要写,否则报错--%>
</jsp:include>
 

3.2018-3-13.7.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:include page="2018-3-13.8.jsp">

		<jsp:param value="" name="" />
                <p>2018-3-13.7</p>	
</jsp:include>
</body>
</html>

3.2018-3-13.8.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p>hello world!</p>
</body>
</html>


3.地址栏:地址栏没有发生改变
形象记忆(include:包含,包括,只是把其他内容放进主页面,主观看到的还是主页面,只是要回"属于自己的东西")


4)jsp:plugin: 用于下载JavaBean或APPlet的实例(使用场景不多)
主要用于下载服务器端的JavaBean或Applet到客户端执行.程序在客户端执行,客户端需要安装虚拟机.()

5)jsp:useBean: 创建一个JavaBean实例的属性值
语法:
<jsp:useBean id="相当于对应java类的对象名" class="java包名.Java类名" scope="JavaBean实例的作用范围"></jsp:useBean>

注意:class属性值在第一次加载的时候并不能成功识别,可以通过关闭编译器再重启来解决

JavaBean实例的作用范围取值:
page(页面):该JavaBean实例仅在该页面有效
request(请求):该JavaBean实例在本次请求有效
session(会议):该JavaBean实例在本次session内有效
application(应用):该JavaBean实例在本应用内一直有效


4 .2018-3-13.9.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:useBean id="p1" scope="page" class="lee.Personal"></jsp:useBean>

	<jsp:setProperty property="name" name="p1" value="liming" />
	<jsp:getProperty property="name" name="p1" />

</body>
</html>


4.Personal.java

package lee;

public class Personal {
	public Personal() {
		super();
		// TODO Auto-generated constructor stub
	}
	private String name;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	private int age;
}




6)jsp:getProperty:输出JavaBean实例的属性值:
语法:
<jsp:getProperty property="name" name="p1" />
name:JavaBean的实例名
property:确定需要输出的属性名


7)jsp:setProperty:设置JavaBean实例的属性值:
语法:
<jsp:setProperty property="name" name="p1" value="liming"/>
name:JavaBean的实例名
property:确定需要设置的属性名
value:确定要设置的属性值


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值