JavaBean基本用法示例(二)
JavaBean的第二种用法,是接收form组件的请求赋值。
一、修改person类。因为这一次是两个网页之间的数据传输,受中文乱码问题的影响,所以在person类中添加一个用于转码的函数,并且在每一个String类型的set方法中调用。这样才可以确保最后的中文显示正常。
package com.kaly.bean;
import java.io.UnsupportedEncodingException;
public class person {
String name;
String sex;
int age;
String info;
public person() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name=DecodeStr(name);
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = DecodeStr(sex);
}
public int getAge() {
return age;
}
public void setAge(int age) {
//数字不需要转解码
this.age=age;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = DecodeStr(info);
}
/**
* 专门用来转换中文乱码的函数
* @param srcString 待转换的字符串
* @return 转换后的字符串
*/
private String DecodeStr(String srcString){
String objString="";
try {
objString = new String(srcString.getBytes("ISO-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return objString;
}
}
二、建立indexbean.jsp,用于显示表单,输入请求。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>我的JSP 'indexbean.jsp'开始页面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head> <body>
<center>
<form action="dspbean.jsp" method="get">
姓名:<input type="text" name="name" value="张道陵"><br>
性别:<input type="text" name="sex" value="男"><br>
年龄:<input type="text" name="age" value="100"><br>
信息:<input type="text" name="info" value="五斗米道创始人"><br>
<input type="submit" value="提交">
</form>
</center>
</body>
</html>
三、建立dspbean.jsp,用于接收请求,并且将表单提交的值全部赋给person实例p2,最后通过调用显示出来。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>我的JSP 'dspbean.jsp'开始页面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head> <body>
<!-- 下面这句是对Javabean类person的引用,引用的实例是p2 -->
<jsp:useBean id="p2" class="com.kaly.bean.person"></jsp:useBean>
<!-- 下面这一行是对p1各个成员赋值,这里使用"*"表示将请求表单的值全部赋给person引用p2,前提是form中的所有name必须和person中的成员名对应 -->
<jsp:setProperty property="*" name="p2"/>
<!-- 下面这几行是取用p2中各个成员的值,实际上调用的是get方法 -->
姓名:<jsp:getProperty property="name" name="p2"/><br>
性别:<jsp:getProperty property="sex" name="p2"/><br>
年龄:<jsp:getProperty property="age" name="p2"/><br>
信息:<jsp:getProperty property="info" name="p2"/>
</body>
</html>
如果表单中的name和person中的对应成员名称不一样,就要用<jsp:setProperty name="实例" property="person中的成员名称" param="表单中对应name"/>的方式赋值。
运行结果:

点击提交之后。

JavaBean基本用法示例(二)的更多相关文章
- JavaBean基本用法示例(一)
一.首先创建一个类person,里面有四个成员:name,sex,age,info,添加四个成员所有的set和get方法. package com.kaly.bean; public class pe ...
- Linux find 用法示例
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- [转]Linux中find常见用法示例
Linux中find常见用法示例[转]·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参 ...
- oracle中to_date详细用法示例(oracle日期格式转换)
这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 ...
- python中的随机函数random的用法示例
python中的随机函数random的用法示例 一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据 ...
- linux日志中查找关键字、前几行、结尾几行,Linux的find用法示例
linux在日志中查找关键字.前几行.结尾几行,Linux的find用法示例 1.linux在日志中查找关键字.前几行.结尾几行 1.1查看日志 前 n行: 1.2查看日志 尾 n行: 1.3根据 关 ...
- Github团队开发示例(二)
Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6063765.html 接之前讲的Github团队开发示例(一),本文主 ...
- jQuery中$.fn的用法示例介绍
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效,下面有个不错的示例,喜欢的朋友可以参考下 如扩展$.fn.abc(),即$.fn.abc()是对jquery ...
- for语句及switch case用法示例
for(初始条件:循环条件:状态改变){ 循环体:执行代码} 示例一: 示例二: 示例三: 示例四: 示例五: 示例六: 示例七: switch case: 示例一: 示例二: 示例三:
随机推荐
- mysql5.x(<7) sql文件导入到5.7
一.修改sql—model http://www.linuxidc.com/Linux/2016-09/135372.htm
- STM32学习笔记(五) USART异步串行口输入输出(轮询模式)
学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...
- APP链接请求电话
1.使用OpenURL执行:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:07551111&qu ...
- JavaScript数组API
1.将数组转化为字符串:2种: 1.var str=String(str); 将数组转化为字符串并分隔每个元素 ...
- JavaScipt的秘密花园
对象使用和属性 JavaScript 中所有变量都可以当作对象使用,除了两个例外 null 和undefined. false.toString(); // 'false'[1, 2, 3].toSt ...
- c#网络通信框架networkcomms内核解析之十 支持优先级的自定义线程池
NetworkComms网络通信框架序言 本例基于networkcomms2.3.1开源版本 gplv3协议 如果networkcomms是一顶皇冠,那么CommsThreadPool(自定义线程池 ...
- iOS开发拓展篇—UIDynamic(重力行为+碰撞检测)
iOS开发拓展篇—UIDynamic(重力行为+碰撞检测) 一.重力行为 说明:给定重力方向.加速度,让物体朝着重力方向掉落 1.方法 (1)UIGravityBehavior的初始化 - (inst ...
- iOS开发拓展篇—音频处理(音乐播放器1)
iOS开发拓展篇—音频处理(音乐播放器1) 说明:该系列文章通过实现一个简单的音乐播放器来介绍音频处理的相关知识点,需要重点注意很多细节的处理. 一.调整项目的结构,导入必要的素材 调整后的项目结构如 ...
- python实现屏幕截图
from selenium import webdriver import time def capture(url, save_fn="capture.png"): browse ...
- (BFS)poj2935-Basic Wall Maze
题目地址 题目与最基本的BFS迷宫的区别就是有一些障碍,可以通过建立三维数组,标记某个地方有障碍不能走.另一个点是输出路径,对此建立结构体时要建立一个pre变量,指向前一个的下标.这样回溯(方法十分经 ...