13.4 jsp:setProperty动作
jsp:setProperty用来设置已经实例化的Bean对象的属性,有两种用法。首先,你可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,如下所示:
<jsp:useBean id="myName" ... />
...
<jsp:setProperty name="myName"
property="someProperty" ... /> |
此时,不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。第二种用法是把jsp:setProperty放入jsp:useBean元素的内部,如下所示:
<jsp:useBean id="myName" ... >
...
<jsp:setProperty name="myName"
property="someProperty" ... />
</jsp:useBean> |
此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。
jsp:setProperty动作有下面四个属性:
属性 |
说明 |
name |
name属性是必需的。它表示要设置属性的是哪个Bean。 |
property |
property属性是必需的。它表示要设置哪个属性。有一个特殊用法:如果property的值是“*”,表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。 |
value
|
value属性是可选的。该属性用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、
boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如
“true”)通过Boolean.valueOf转换,int和Integer类型的属性值(比如“42”)通过Integer.valueOf转换。
value和param不能同时使用,但可以使用其中任意一个。
|
param
|
param是可选的。它指定用哪个请求参数作为Bean属性的值。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值。 |
例如,下面的代码片断表示:如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。
<jsp:setProperty name="orderBean"
property="numberOfItems"
param="numItems" /> |
如果同时省略value和param,其效果相当于提供一个param且其值等于property的值。进一步利用这种借助请求参数和属性名字相同进行
自动赋值的思想,你还可以在property(Bean属性的名字)中指定“*”,然后省略value和param。此时,服务器会查看所有的Bean属
性和请求参数,如果两者名字相同则自动赋值。
下面是一个利用JavaBean计算素数的例子。如果请求中有一个numDigits参数,则该值被传递给Bean的numDigits属性;numPrimes也类似。
JspPrimes.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>在JSP中使用JavaBean</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE BORDER=5>
<TR><TH CLASS="TITLE">
在JSP中使用JavaBean</TABLE>
</CENTER>
<P>
<jsp:useBean id="primeTable" class="hall.NumberedPrimes" />
<jsp:setProperty name="primeTable" property="numDigits" />
<jsp:setProperty name="primeTable" property="numPrimes" />
Some <jsp:getProperty name="primeTable" property="numDigits" />
digit primes:
<jsp:getProperty name="primeTable" property="numberedList" />
</BODY>
</HTML> |
注:NumberedPrimes的代码略。
13.5 jsp:getProperty动作
jsp:getProperty动作提取指定Bean属性的值,转换成字符串,然后输出。jsp:getProperty有两个必需的属性,
即:name,表示Bean的名字;property,表示要提取哪个属性的值。下面是一个例子,更多的例子可以在前文找到。
<jsp:useBean id="itemBean" ... />
...
<UL>
<LI>Number of items:
<jsp:getProperty name="itemBean" property="numItems" />
<LI>Cost of each:
<jsp:getProperty name="itemBean" property="unitCost" />
</UL> |
13.6 jsp:forward动作
jsp:forward动作把请求转到另外的页面。jsp:forward标记只有一个属性page。page属性包含的是一个相对URL。page的值既可以直接给出,也可以在请求的时候动态计算,如下面的例子所示:
<jsp:forward page="/utils/errorReporter.jsp" />
<jsp:forward page="<%= someJavaExpression %>" /> |
13.7 jsp:plugin动作
jsp:plugin动作用来根据浏览器的类型,插入通过Java插件 运行Java Applet所必需的OBJECT或EMBED元素。
附录:JSP注释和字符引用约定
下面是一些特殊的标记或字符,你可以利用它们插入注释或可能被视为具有特殊含义的字符。
语法 |
用途 |
<%-- comment --%> |
JSP注释,也称为“隐藏注释”。JSP引擎将忽略它。标记内的所有JSP脚本元素、指令和动作都将不起作用。 |
<!-- comment --> |
HTML注释,也称为“输出的注释”,直接出现在结果HTML文档中。标记内的所有JSP脚本元素、指令和动作正常执行。 |
<\% |
在模板文本(静态HTML)中实际上希望出现“<%”的地方使用。 |
%\> |
在脚本元素内实际上希望出现“%>”的地方使用。 |
\' |
使用单引号的属性内的单引号。不过,你既可以使用单引号也可以使用双引号,而另外一种引号将具有普通含义。 |
\" |
使用双引号的属性内的双引号。参见“\'”的说明。 |
分享到:
相关推荐
在这个例子中,我们首先使用 `<s:set>` 标签将一个字符串 `"China"` 设置到了一个名为 `country` 的变量中,然后使用 `<s:if>` 标签进行条件判断。如果 `country` 的值等于 `"China"`,则会显示 `"This is China!"`...
5. JSP动作标签:`<jsp:useBean>`用于实例化和查找JavaBean,`<jsp:setProperty>`和`<jsp:getProperty>`则用来设置和获取Bean的属性。此外,还有`<jsp:include>`、`<jsp:forward>`等用于页面操作。 6. JSP标签库:...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
taskInstanceId=<s:property value="id"/>">准备资料</a> </s:elseif> <s:else> <s:property value="#taskName" /> </s:else> </td> ``` #### 代码解析 1. **设置变量**:首先,使用`<s:set>`标签设置两个变量...
JSP之访问JavaBean的一个简单例子 使用useBean,jsp:setProperty,jsp:getProperty使用的一个简单例子 博客参考地址:https://blog.csdn.net/qq_36631076/article/details/79693890
* include 指令和<jsp:include>动作的区别:执行时间、引入内容等 * JSP 程序里有三种注释:HTML 注释、Java 注释、JSP 隐藏注释 服务器交互 * 使用 response 对象进行重定向的方法:sendRedirect * session 对象...
标准的动作元素包括`<jsp:include>`、`<jsp:forward>`、`<jsp:param>`、`<jsp:plugin>`、`<jsp:useBean>`、`<jsp:setProperty>`和`<jsp:getProperty>`。 2. **<jsp:include>**: 这个动作元素用于动态地将一个页面...
application对象代表应用程序上...<jsp:getProperty>操作是对<jsp:setProperty>操作的补充,用来访问一个Bean的属性 <jsp:plugin>用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean <jsp:fallback>
动作语法包括<jsp:forward>、<jsp:include>、<jsp:plugin>、<jsp:getProperty> 和 <jsp:setProperty> 等。 在 JSP 语法中,声明用于在页面上输出信息,语法格式如下:<%! declaration; [ declaration; ] ... %> 或 ...
3. **设置属性**:使用`<jsp:setProperty>`标签设置JavaBean的属性值,与JavaBean的set方法相对应。例如: ```jsp <jsp:setProperty name="mybean" property="radius" value="100"/> ``` 4. **获取属性**:使用`...
该标记的语法格式为:<jsp:setProperty name="bean name" property="property name" value="str" />,其中 name 属性指定了 Bean 的名称,property 属性指定了要设置的属性,value 属性指定了要设置的值。...
JSP的动作标签如`<jsp:useBean>`、`<jsp:setProperty>`、`<jsp:forward>`等,简化了页面操作。例如,`<jsp:useBean>`用于实例化JavaBean,`<jsp:setProperty>`设置JavaBean的属性。 **五、JSP与Servlet的关系** ...
<jsp:setProperty name="employee" property="name" param="employeeName"/> ``` 这行代码将把请求参数`employeeName`的值设置为`employee` bean的`name`属性。 5. **<jsp:getProperty>** `<jsp:getProperty>`...
<jsp:setProperty name="calculator" property="value" value="5" /> </jsp:useBean> ``` 6. `<jsp:setProperty>` - 设置JavaBean属性。 ```jsp <jsp:setProperty name="calculator" property="value" value=...
JSP动作元素以`<jsp:`开头,如`<jsp:useBean>`, `<jsp:setProperty>`, `<jsp:getProperty>`等,它们主要用于操作JavaBeans。例如,`<jsp:useBean>`用于实例化或查找一个JavaBean,`<jsp:setProperty>`和`<jsp:...
exception)、JavaBean组件、JSP标准动作(<jsp:forward>,<jsp:param>,<jsp:setProperty>,<jsp:plugin>,<jsp:include>,<jsp:useBean>,<jsp:getProperty>)、JSP中使用数据库(JDBC常用API)、JSTL的配置步骤、核心...
例如,`<jsp:useBean>`用来实例化或查找JavaBean,`<jsp:setProperty>`设置Bean的属性,`<jsp:getProperty>`读取Bean的属性。 5. **EL(Expression Language):** EL是一种简洁的表达式语言,用于从页面上下文中...
标准动作元素是JSP提供的一些基本动作元素,例如<jsp:include>、<jsp:param>、<jsp:forward>、<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>和<jsp:plugin>等。自定义动作元素是开发者根据需求自定义的动作...
JSP动作(如`<jsp:useBean>`, `<jsp:setProperty>`, `<jsp:getProperty>`等)则用于操作JavaBean和其他资源。 1.7 JSP表达式语言(EL) EL是简化JSP页面中数据访问的表达式语法,允许开发者以更简洁的方式获取和...
2. **JSP动作元素**:比如`<jsp:useBean>`, `<jsp:setProperty>`, `<jsp:getProperty>`等,用于管理和操作JavaBean。`<jsp:include>`和`<jsp:forward>`也是动作元素,但它们属于指令的一部分。 3. **脚本元素**:...