JSP动作标识

1、JSP动作标识在请求处理阶段按照页面中出现的顺序来执行的,分为操作JavaBean、包含其他文件、执行请求转发等。

2、操作JavaBean的动作标识:创建JavaBean实例的动作标识<jsp:useBean>,读取JavaBean属性值的<jsp:getProperty>和设置JavaBean的属性值的<jsp:setProperty>。读取JavaBean属性值的动作标识用于创建并给属性赋值,如果在指定范围内没有JavaBean,则新建一个JavaBean,如果有则直接使用JavaBean。

3、操作JavaBean的动作标识可以分为两种情况,一种是有体的,另一种是不存在体的。两者的区别是在第一次实例化JavaBean时,前者如果存在JavaBean实例则不再执行其内容,后者不论存在JavaBean实例与否都会执行。

4、<jsp:useBean>常用属性:id,scope,class,type,beanName。scope属性的可选值是page,request,session和application。

5、操作JavaBean的动作标识练习代码

  index.jsp如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
<form name="form1" method="post" action="deal.jsp" >
用户名:<input type="text" name="username">
<br>
密码:<input type="password" name="password">
<input type="submit" name="submit1" value="提交">
</form>
</body>
</html>

  deal.jsp如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="user" scope="page" class="javaBeanTest.UserBean" type="javaBeanTest.UserBean" />
    <jsp:setProperty name="user" property="*" />
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>显示用户登录信息</title>
</head>
<body>
用户名:<%=user.getName() %><br>
密码:<%=user.getPassword() %>
</body>
</html>

  JavaBean代码如下:

 1 package javaBeanTest;
 2 //创建UserBean类
 3 public class UserBean
 4 {
 5     private String username="";
 6     private String password="";
 7     public void setusername(String username)
 8     {
 9         this.username=username;
10     }
11     public String getName()
12     {
13         return username;
14     }
15     public void setPassword(String password)
16     {
17         this.password=password;
18     }
19     public String getPassword()
20     {
21         return password;
22     }
23 }

6、包含外部文件的动作标识<jsp:include page="url" flush="true/false">,可以包含动态和静态的文件,包含动态文件的时候,会先用jsp解释器编译被包含的文件。有两种写法,一种是包含体的并且体有参数传递的内容,另一种是不包含体的。

7、包含有两种写法,一种是指令标识写法,另一种是动作标识写法。前者总共生成一个页面,被包含的页面修改后需要重新编译该文件;后者不用,因为后者被包含的文件是分编译执行的,对于变量也不会和主页面有冲突,一般用于包含动态页面。

8、执行请求转发的动作标识<jsp:forward >。他让一个页面转向另一个页面,可以是JSP页面,也可以是HTML页面和Servlet页面。格式一般也是包含体的和不包含体的。包含体的内容可以求参数传递。

9、设置参数的子动作标识:<jsp:param name="参数名" value="参数值">,最终其传递的是“参数名=参数值”,等价于文件名后面加“?参数名=参数值”。

10、动态添加人年龄段称谓,并查询

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    //定义一个字符串数组,存放人的不同年龄段名称
    String[] str={"婴儿","儿童","少年","青年","中年","老年"};
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>动态添加下拉列表</title>
</head>
<body>
<!-- 动态添加下拉列表的列表项 -->
<h2>人的查询</h2>
姓名:<input type="text" name="name" id="name">
年龄:<input type="text" name="text" id="text">
年龄段称谓:
<select>
    <%for(int i=0;i<6;i++){%>
    <option value="<%=str[i] %>"><%=str[i] %></option>
    <%}%>
</select>
<input type="button" value="查询">
</body>
</html>
原文地址:https://www.cnblogs.com/joeshine/p/4448050.html