本章目标
掌握JavaBean的属性设置标签;
掌握JavaBean的属性取得标签。
设置属性:<jsp:setProperty>
<jsp:setProperty>标签一共有四种使用方法:
自动匹配:<jsp:setProperty name="实例化对象的名称(id)" property="*"/>
指定属性:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称"/>
指定参数:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称" param="参数名称"/>
指定内容:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称" value="内容"/>
输入表单
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>输入表单</title>
</head>
<body>
<form action="demoPost3.jsp" method="post">
姓名:<input type="text" name="name"><br />
年龄:<input type="text" name="age"><br />
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
</body>
</html>
效果图:
设置指定的属性
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>设置name属性</title>
</head>
<% request.setCharacterEncoding("utf-8");//解决提交乱码 %>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean">
<jsp:setProperty property="name" name="simple"/>
</jsp:useBean>
<body>
<h3>姓名:<%=simple.getName() %></h3><!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge() %></h3><!-- 输出age属性的内容 -->
</body>
</html>
效果图:
指定设置属性的参数
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>将指定参数的内容赋给指定属性</title>
</head>
<%
request.setCharacterEncoding("utf-8");//解决提交乱码
%>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean" />
<jsp:setProperty name="simple" property="name" param="name"/>
<jsp:setProperty name="simple" property="age" param="age"/>
<body>
<h3>姓名:<%=simple.getName()%></h3><!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge()%></h3><!-- 输出age属性的内容 -->
</body>
</html>
效果图:
为属性设置具体内容
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>设置具体的内容</title>
</head>
<%
request.setCharacterEncoding("utf-8");//解决提交乱码
%>
<%
int age = 30;//定义age变量
%>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean" />
<jsp:setProperty name="simple" property="name" value="chaoyi" />
<jsp:setProperty name="simple" property="age" value="<%=age%>" />
<body>
<h3>姓名:<%=simple.getName()%></h3><!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge()%></h3><!-- 输出age属性的内容 -->
</body>
</html>
效果图:
取得属性:<jsp:getProperty>
在JavaBean的操作标签中也提供了专门取得属性的标签:<jsp:getProperty>,此标签会自动调用JavaBean中的getter()方法,与设置属性的标签相比,取得属性的标签只有一种语法格式:
<jsp:getProperty name="实例化对象的名称(id)" property="属性名称"/>
取得属性
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>将指定参数的内容赋给指定属性</title>
</head>
<%
request.setCharacterEncoding("utf-8");//解决提交乱码
%>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean" />
<jsp:setProperty property="*" name="simple"/>
<body>
<h3>姓名:<jsp:getProperty name="simple" property="name"/></h3> <!-- 输出name属性的内容 -->
<h3>年龄:<jsp:getProperty name="simple" property="age"/></h3> <!-- 输出age属性的内容 -->
</body>
</html>
效果图:
小结
JSP中专门提供了JavaBean的属性设置标签:<jsp:setProperty>
JSP中专门提供了JavaBean的属性取得标签:<jsp:getProperty>
设置和取得属性的标签依靠的是反射机制运行