关于JSP中setProperty动作元素

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

第一种形式:

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

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

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

第二种形式:

使用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转换。

第四种形式:

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

/>

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>userBean</title>
</head>
<body>
    <form action="">
        请输入圆的半径:<input type="text" name="r"> 
        <input type="submit" value="计算">
    </form>
     <%-- <%
        //参数radius是表单中传过来的   表单输入的值都是string类型  转换为double类型 传给Bean类中对应的属性
        String radius = request.getParameter("radius");
        double r = 0.0;
        if (radius != null && radius.length() != 0) {
            r = Double.parseDouble(radius);
        }
    %>  --%>
    <jsp:useBean id="c" class="com.spring.Circle.Circle" scope="request">
    </jsp:useBean>
    <jsp:setProperty property="*" name="c"/>
    <%-- 值value 是JavaBean中属性的值  将bean中radius属性值设置为输入的值
    <jsp:setProperty property="radius" name="c" value="<%=r %>"/> --%>
    <%--参数param 是表单请求中传过来的--%>
    <%-- <jsp:setProperty property="r" name="c" param="radius" />  --%>
    圆的周长:<jsp:getProperty property="length" name="c" />
    圆的面积:<jsp:getProperty property="area" name="c" />
</body>
</html>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值