JavaBean和表单
在JavaBean语法中实际上最大的特点就在于与表单的交互上,一个表单提交了内容给JSP,JSP中如果要是想进行接收的话,则需要通过request,分别进行接收,并设置到JavaBean对应的属性里
输入表单
<html>
<head></head>
<body>
<form action="input_bean.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 contentType="text/html" pageEncoding="GBK"%>
<%@ page import="web.*"%> <!-- 导入web包 -->
<% request.setCharacterEncoding("GBK") ; // 解决提交乱码 %>
<%
Employee employee = new Employee() ; // 声明并实例化SimpleBean对象
employee.setName(request.getParameter("name")) ; // 设置name属性
employee.setAge(Integer.parseInt(request.getParameter("age"))) ;// 设置age属性
%>
姓名:<%=employee.getName()%>
年龄:<%=employee.getAge()%>
设置属性
<jsp:setProperty>标签一共有四种使用方法:
- 自动匹配:<jsp:setProperty name="实例化对象的名称(id)" property="*"/>
- 指定属性:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称"/>
- 指定参数:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称"param="参数名称"/>
- 指定内容:<jsp:setProperty name="实例化对象的名称(id)" property="属性名称" value="内容"/>
设置指定属性(通过表单提交内容,在jsp中使用指定属性来匹配提交的内容)
<%@ page contentType="text/html" pageEncoding="GBK"%>
<jsp:useBean id="employee" scope="page" class="web.Employee"/>
<jsp:setProperty name="simple" property="name"/>
姓名:<%=employee.getName()%> <!-- 输出name属性的内容 -->
年龄:<%=employee.getAge()%> <!-- 输出age属性的内容 -->
指定设置属性的参数
<%@ page contentType="text/html" pageEncoding="GBK"%>
<% request.setCharacterEncoding("GBK") ; // 解决提交乱码 %>
<jsp:useBean id="employee" scope="page" class="web.Employee"/>
<jsp:setProperty name="employee" property="name" param="age"/>
<jsp:setProperty name="simple" property="age" param="name"/>
姓名:<%=simple.getName()%>
年龄:<%=simple.getAge()%>
为属性设置具体内容
<%@ page contentType="text/html" pageEncoding="GBK"%>
<% request.setCharacterEncoding("GBK") ; // 解决提交乱码 %>
<% int age = 30 ; // 定义age变量 %>
<jsp:useBean id="employee" scope="page" class="web.Employee"/>
<jsp:setProperty name="employee" property="name" value="zhang"/>
<jsp:setProperty name="simple" property="age" value="<%=age%>"/>
姓名:<%=simple.getName()%>
年龄:<%=simple.getAge()%>
取得属性:<jsp:getProperty>
- 在JavaBean的操作标签中也提供了专门取得属性的标签:<jsp:getProperty>,此标签会自动调用JavaBean中的getter()方法,与设置属性的标签相比,取得属性的标签只有一种语法格式:
- <jsp:getProperty name="实例化对象的名称(id)" property="属性名称"/>
<%@ page contentType="text/html" pageEncoding="GBK"%>
<% request.setCharacterEncoding("GBK") ; // 解决提交乱码 %>
<jsp:useBean id="employee" scope="page" class="web.Employee"/>
<jsp:setProperty name="employee" property="*"/>
姓名:<jsp:getProperty name="employee" property="name"/> <!-- 输出name属性的内容 -->
年龄:<jsp:getProperty name="employee" property="age"/> <!-- 输出age属性的内容 -->