本文共 982 字,大约阅读时间需要 3 分钟。
- <jsp:useBean>标准动作会定义一个变量,它可能是一个现有bean属性的引用,如果还不存在这样一个bean,则会创建一个新的bean,这个变量就是新bean的引用。
- <jsp:useBean>必须有一个“id”属性,这个属性声明了JSP中引用bean时所用的变量名。
- 如果<jsp:useBean>中没有“scope”属性,作用域默认为页面(page)作用域。
- “class”属性是可选的,它声明了类类型,如果创建一个新bean,就要使用这个类类型。这个类型必须是公共的,非抽象的,而且有一个无参数的公共构造函数。
- 如果在<jsp:useBean>中放了一个“type”属性,bean就必须能强制转换为这种类型。
- 如果有一个“type”属性,但是没有“class”属性,bean必须已经存在,因为 你没有指定将新的bean实例化为哪个类类型。
- <jsp:useBean>标记可以有一个体,体中的内容 有有条件地运行,只有当创建一个新的bean作为<jsp:useBean>的结果时,才会运行体中的内容,这说明指定(或默认)作用域中不存在有该“id”的bean。
- <jsp:useBean>体的主要作用是,使用<jsp:setProperty>设置新bean的性质。
- <jsp:setProperty>必须有一个name属性(它要与<jsp:useBean>的“id”匹配),还要有一个“property”属性。“property “属性必须是一个具体的性质名,或者是通配符 “*”.
- 如果没有包含“value”属性,只有当一个请求 参数 的名与性质名匹配时,容器才会设置性质值。如果“property”属性使用通配符(*),只要性质名有匹配的请求参数名,容器就会设置所有这些性质的值(其他性质不受影响)。
- 如果请求参数名与性质名不同,但是你想把性质的设置为请求参数值,可以在<jsp:setProperty>标记中使用“param”属性。
- 如果在<jsp:useBean>中指定一个“type”属性,用<jsp:setProperty>只能设置“type”的性质,而不能用来设置“class”类型中已有的性质(换句话说,多态和正常的Java类型规则仍然适用)。
- 性质值可以是String或基本类型,<jsp:setProperty>标准动作会自动完成转换。
转载地址:http://usesi.baihongyu.com/