<jsp:setProperty>用来设置已经实例化的Bean对象的属性

第一种形式:

<jps:setProperty name = "JavaBean实例名"  property = "*"/>

该形式是设置Bean 属性的快捷方式.在Bean 中属性的名字,类型必须和request对象中的参数名称相匹配。由于表单中传过来的数据类型都是String 类型的,Jsp内在机制会把这些参数转化成Bean属性对应的类型。

property = "*"表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。

第二种形式:

<jsp:setProperty name = "JavaBean实例名"
property = "JavaBean属性名"
/>

使用request对象中的一个参数值来指定Bean中的一个属性值。在这个语法中,property指定Bean 的属性名,而且Bean 属性和request参数的名字应相同。也就是说,如果在Bean 中有setUserName(String userName)方法,那么,propertyName的值就是"userName".这种形式灵活性较强,可以有选择的对Bean中的属性赋值

第三种形式:

<jsp:setProperty name = "JavaBean实例名" property
= "JavaBean属性名" value = "BeanValue"/>

value用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如“true”)通过Boolean.valueOf转换,int和Integer类型的属性值(比如“42”)通过Integer.valueOf转换。

第四种形式:

<jsp:setProperty name = "JavaBean实例名"

property = "propertyName" param = "request对象中的参数名"

/>

param指定用哪个请求参数作为Bean属性的值。Bean 属性和request参数的名字可以不同。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值。

例如,下面的代码片断表示:如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。

<jsp:setProperty name="orderBean" property="numberOfItems" param="numItems" />

下面是一个简单的例子:

//sampleBean.java

package MyJavaBeanPackage;

publicclass SampleBean2

{

private String
id;

private String
age;

private String
name;

private String
sex;

private String
addr;

public SampleBean2()

{

}

public String getName()

{

returnname;

}

publicvoid setName(String name)

{

this.name = name;

}

public String getSex()

{

returnsex;

}

publicvoid setSex(String sex)

{

this.sex = sex;

}

publicvoid setId(String id)

{

this.id = id;

}

publicvoid setAge(String age)

{

this.age = age;

}

public String getId()

{

returnid;

}

public String getAge()

{

returnage;

}

public String getAddr()

{

returnaddr;

}

publicvoid setAddr(String addr)

{

this.addr = addr;

}

}

//SampleBean.html

<html>

<head>

<title>使用<jsp:getProperty>和<jsp:setProperty>标记</title>

</head>

<body>

<form name
= "form1"
action = "Sample2.jsp"
method =
"post">

<p align
= "center">编号

<input type
= "text"
name = "id">

</p>

<p align
= "center">姓名

<input type
= "text"
name = "name">

</p>

<p align
= "center">性别

<select name
= "TheSex"
id = "sex">

<option value
= "男"
selected>男</option>

<option value
= "女">女</option>

</select>

</p>

<p align
= "center">年龄

<input type
= "text"
name = "TheAge">

</p>

<p align
= "center">

<input type
= "submit"
value = "提交">

<input type
= "reset"
value = "重置">

</p>

</form>

</body>

</html>

//SampleBean.jsp

<%@ page

language="java"

contentType =
"text/html;charset = GBK"

%>

<jsp:useBean
id = "sampleBean2"
class =
"MyJavaBeanPackage.SampleBean2"/>

<html>

<head>

<title>在JavaBean中存放数据</title>

</head>

<body>

<%--方法一

<jsp:setProperty name = "sampleBean2" property = "*" />

--%>

<%-- 方法二 --%>

<jsp:setProperty
name =
"sampleBean2" property
= "id"/>

<jsp:setProperty
name =
"sampleBean2" property
= "name"/>

<%--方法三 --%>

<jsp:setProperty
name =
"sampleBean2" property
= "addr"
value = "洛阳师范学院"/>

<%-- 方法四 bean属性的名字可以与request参数不同--%>

<jsp:setProperty
name =
"sampleBean2" property
= "sex"
param = "TheSex"/>

<jsp:setProperty
name =
"sampleBean2" property
= "age"
param = "TheAge"/>

<center>

编号:<jsp:getProperty
name =
"sampleBean2" property
= "id"/><br>

姓名:<jsp:getProperty
name =
"sampleBean2" property
= "name"/><br>

性别:<jsp:getProperty
name =
"sampleBean2" property
= "sex"/><br>

年龄:<jsp:getProperty
name =
"sampleBean2" property
= "age"/><br>

住址:<jsp:getProperty
name =
"sampleBean2" property
= "addr"/><br>

</center>

</body>

</html>

//参考文献:

1<<从零开始——JSP动态网页制作基础培训教程-源代码>>

http://hi.baidu.com/ffcheng1987/blog/item/44c71755925761c7b645ae2c.html

jsp标签jsp:setProperty用法的更多相关文章

  1. JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

  2. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  3. javaWeb学习总结(8)- JSP标签(6)

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  4. JSP学习(五)JSP标签

    JSP标签 jsp的常用标签有: <jsp:include>标签 <jsp:forward>标签 <jsp:param>标签 <jsp:include> ...

  5. 自定义的JSP标签

    JSP标签 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这 ...

  6. JSP标签的用法

    JSP动作标签: 通过动作标签,程序员可以在JSP页面中把页面的显示功能部分 封装起来,是整个页面更简洁和易于维护 <jsp:useBean> 装载一个将在JSP页面中使用的JavaBea ...

  7. jsp学习(2)jsp标签

    1.脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式:<%代码片段%>您也可以编写与其等价的XML语句,就像下面这样: ...

  8. jsp学习--JSP运行原理,九大隐式对象和JSP常用标签

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  9. JSP:useBean,setProperty的使用

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

随机推荐

  1. 1.Cocos2d-x-3.2编写3d打飞机,粒子管理器代码

     Cocos2d-x中的一个单例效果: #ifndef __Moon3d__ParticleManager__ #define __Moon3d__ParticleManager__ #inclu ...

  2. Dynamics CRM 安装Microsoft Dynamics CRM Reporting Extensions

    在装完CRM Server 后这个组件是必须安装的,但今天由于我的大意在客户安装生产环境时,告诉客户这个组件装在APP服务器上,导致客户安装时 SSRSInstance怎么都是空的,害的人家找了半天原 ...

  3. 4.QT中进程操作,线程操作

     QT中的线程操作 T19Process.pro SOURCES += \ main.cpp CONFIG += C++11 main.cpp #include <QCoreApplicat ...

  4. Java虚拟机定义

    虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与具体操作系统平台相关的 ...

  5. Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

    应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...

  6. UNIX网络编程——TCP长连接与短连接的区别

    一.TCP短连接 我们模拟一下TCP短连接的情况,client向server发起连接请求,server接到请求,然后双方建立连接.client向server发送消息,server回应client,然后 ...

  7. 精通CSS+DIV网页样式与布局--页面背景

    上篇博客,我们主要简单的总结了CSS的图片效果,我们这回来讲讲CSS如何对网页的背景进行设置,网页的背景是整个网页的重要组成部分,她直接决定了整个网页的风格和色调.这篇博客简单的总结一下如何用CSS来 ...

  8. Uva - 816 - Abbott's Revenge

    这个迷宫问题还是挺好玩的,多加了一个转向的问题,有些路口不同的进入方式会有不同的转向限制,这个会比较麻烦一点,所以定义结点结构体的时候需要加一个朝向dir.总体来说是一道BFS求最短路的问题.最后打印 ...

  9. 【翻译】在Ext JS 6通用应用程序中使用既共享又特定于视图的代码

    原文:Using Both Shared and View-Specific Code in an Ext JS 6 Universal App 在本文,在展示如何编写Ext JS 6通用应用程序代码 ...

  10. UNIX环境高级编程——信号基本概述和signal函数

    一.为了理解信号,先从我们最熟悉的场景说起:1. 用户输入命令,在Shell下启动一个前台进程.2. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断.3. 如果CPU当前正在执行这个进程的代码,则 ...