⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jspintro8.html

📁 j2eePDF格式的电子书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
</div><a name="wp71179"> </a><div class="pCellBody"><code class="cCode">&lt;jsp:setProperty name=&quot;</code><code class="cVariable">beanName</code><code class="cCode">&quot;</code></div><a name="wp71184"> </a><div class="pCellBody"><code class="cCode">&nbsp;&nbsp;property=&quot;</code><code class="cVariable">propName</code><code class="cCode">&quot; &gt;</code></div><a name="wp71185"> </a><div class="pCellBody"><code class="cCode">&nbsp;&nbsp;&lt;jsp:attribute name=&quot;</code>value<code class="cCode">&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="cVariable">expression<br /></code><code class="cCode">&nbsp;&nbsp;&lt;/jsp:attribute&gt;</code></div><a name="wp71189"> </a><div class="pCellBody"><code class="cCode">&lt;/jsp:setProperty&gt;</code></div></td></tr>  <tr align="left">    <td><a name="wp70812"> </a><div style="color: #000000; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: normal; margin-bottom: 0pt; margin-left: 24pt; margin-right: 24pt; margin-top: 0pt; text-align: left; text-decoration: none; text-indent: 0pt; text-transform: none">&#160;</div></td>    <td><a name="wp81236"> </a><div class="pCellBody">1. <code class="cVariable">beanName</code> must be the same as that specified for the <code class="cCode">id</code> attribute in a <code class="cCode">useBean</code> element. </div><a name="wp81237"> </a><div class="pCellBody">2. There must be a <code class="cVariable">setPropName</code><code class="cCode"> </code>method in the JavaBeans component.</div><a name="wp70814"> </a><div class="pCellBody">3. <code class="cVariable">paramName</code> must be a request parameter name.</div></td></tr></table></div><p class="pBody"></p><a name="wp70817"> </a><p class="pBody">A property set from a constant string or request parameter must have a type listed in <a  href="JSPIntro8.html#wp70827">Table 12-4</a>. Since both a constant and request parameter are strings, the Web container automatically converts the value to the property's type; the conversion applied is shown in the table. </p><a name="wp76920"> </a><p class="pBody"><code class="cCode">String</code> values can be used to assign values to a property that has a <code class="cCode">PropertyEditor</code> class. When that is the case, the <code class="cCode">setAsText(String)</code> method is used. A conversion failure arises if the method throws an <code class="cCode">IllegalArgumentException</code>. </p><a name="wp76921"> </a><p class="pBody">The value assigned to an indexed property must be an array, and the rules just described apply to the elements. </p><div align="left"><table border="1" summary="Valid Property Value Assignments from String Values" id="wp70827">  <caption><a name="wp70827"> </a><div class="pTableTitle">Table 12-4   Valid Property Value Assignments from String Values&nbsp;</div></caption>  <tr align="center">    <th><a name="wp70831"> </a><div class="pCellHeading">Property Type</div></th>    <th><a name="wp70833"> </a><div class="pCellHeading">Conversion on String Value</div></th></tr>  <tr align="left">    <td><a name="wp70835"> </a><div class="pCellBody">Bean Property</div></td>    <td><a name="wp70837"> </a><div class="pCellBody">Uses<code class="cCode"> setAsText(</code><code class="cVariable">string-literal</code><code class="cCode">)</code></div></td></tr>  <tr align="left">    <td><a name="wp70839"> </a><div class="pCellBody"><code class="cCode">boolean</code> or <code class="cCode">Boolean</code></div></td>    <td><a name="wp70841"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Boolean.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70843"> </a><div class="pCellBody"><code class="cCode">byte</code> or <code class="cCode">Byte</code></div></td>    <td><a name="wp70845"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Byte.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70847"> </a><div class="pCellBody"><code class="cCode">char</code> or <code class="cCode">Character</code></div></td>    <td><a name="wp70849"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.String.charAt(0)</code></div></td></tr>  <tr align="left">    <td><a name="wp70851"> </a><div class="pCellBody"><code class="cCode">double</code> or <code class="cCode">Double</code></div></td>    <td><a name="wp70853"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Double.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70855"> </a><div class="pCellBody"><code class="cCode">int</code> or <code class="cCode">Integer</code></div></td>    <td><a name="wp70857"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Integer.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70859"> </a><div class="pCellBody"><code class="cCode">float</code> or <code class="cCode">Float</code></div></td>    <td><a name="wp70861"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Float.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70863"> </a><div class="pCellBody"><code class="cCode">long</code> or <code class="cCode">Long</code></div></td>    <td><a name="wp70865"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Long.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70867"> </a><div class="pCellBody"><code class="cCode">short</code> or <code class="cCode">Short</code> </div></td>    <td><a name="wp70869"> </a><div class="pCellBody">As indicated in <code class="cCode">java.lang.Short.valueOf(String)</code></div></td></tr>  <tr align="left">    <td><a name="wp70871"> </a><div class="pCellBody"><code class="cCode">Object</code></div></td>    <td><a name="wp70873"> </a><div class="pCellBody">new <code class="cCode">String(</code><code class="cVariable">string-literal</code><code class="cCode">)</code></div></td></tr></table></div><p class="pBody"></p><a name="wp70875"> </a><p class="pBody">You use an expression to set the value of a property whose type is a compound Java programming language type. The type returned from an expression must match or be castable to the type of the property. </p><a name="wp74344"> </a><p class="pBody">The Duke's Bookstore application demonstrates how to use the <code class="cCode">setProperty</code> element to set the current book from a request parameter in the database helper bean in <code class="cCode"><a  href="../examples/web/bookstore2/web/bookdetails.txt" target="_blank">bookstore2/web/bookdetails.jsp</a></code>:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative">&lt;c:set var=&quot;bid&quot; value=&quot;${param.bookId}&quot;/&gt;&lt;jsp:setProperty name=&quot;bookDB&quot; property=&quot;bookId&quot;&nbsp;&nbsp;value=&quot;${bid}&quot; /&gt;<a name="wp76923"> </a></pre></div><a name="wp70886"> </a><p class="pBody">The following fragment from the page <code class="cCode"><a  href="../examples/web/bookstore2/web/bookshowcart.txt" target="_blank">bookstore2/web/bookshowcart.jsp</a></code> illustrates how to initialize a <code class="cCode">BookDB</code> bean with a <code class="cCode">database</code> object. Because the initialization is nested in a <code class="cCode">useBean</code> element, it is only executed when the bean is created.</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative">&lt;jsp:useBean id=&quot;bookDB&quot; class=&quot;database.BookDB&quot; scope=&quot;page&quot;&gt;&nbsp;&nbsp;&lt;jsp:setProperty name=&quot;bookDB&quot; property=&quot;database&quot; &nbsp;&nbsp;&nbsp;&nbsp;value=&quot;${bookDBAO}&quot; /&gt;&lt;/jsp:useBean&gt;<a name="wp74308"> </a></pre></div><a name="wp74296"> </a><h3 class="pHeading2">Retrieving JavaBeans Component Properties</h3><a name="wp70891"> </a><p class="pBody">The main way to retrieve JavaBeans component properties is with the JSP expression language. Thus, to retrieve a book title, the Duke's Bookstore application uses the following expression:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative">${bookDB.bookDetails.title}<a name="wp75014"> </a></pre></div><a name="wp75009"> </a><p class="pBody">Another way to retrieve component properties is to use the <code class="cCode">jsp:getProperty</code> element. This element converts the value of the property into a <code class="cCode">String</code> and inserts the value into the response stream:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative"><code class="cCode">&lt;jsp:getProperty name=&quot;</code><code class="cVariable">beanName</code><code class="cCode">&quot; property=&quot;</code><code class="cVariable">propName</code><code class="cCode">&quot;/&gt;</code><a name="wp70893"> </a></pre></div><a name="wp70895"> </a><p class="pBody">Note that <code class="cVariable">beanName</code> must be the same as that specified for the <code class="cCode">id</code> attribute in a <code class="cCode">useBean</code> element, and there must be a <code class="cCode">get</code><code class="cVariable">PropName</code> method in the JavaBeans component. Although the preferred approach to getting properties is to use an EL expression, the <code class="cCode">getProperty</code> element is available if you need to disable expression evaluation.</p>    </blockquote>   <img src="images/blueline.gif" width="550" height="8" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT="Divider">    <table width="550" summary="layout" id="SummaryNotReq1">      <tr>	<td align="left" valign="center">	<font size="-1">	<a href="http://java.sun.com/j2ee/1.4/download.html#tutorial" target="_blank">Download</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/faq.html" target="_blank">FAQ</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/history.html" target="_blank">History</a>	</td>        <td align="center" valign="center"><a accesskey="p" href="JSPIntro7.html"><img id="LongDescNotReq1" src="images/PrevArrow.gif" width="26" height="26" border="0" alt="Prev" /></a><a accesskey="c" href="J2EETutorialFront.html"><img id="LongDescNotReq1" src="images/UpArrow.gif" width="26" height="26" border="0" alt="Home" /></a><a accesskey="n" href="JSPIntro9.html"><img id="LongDescNotReq3" src="images/NextArrow.gif" width="26" height="26" border="0" alt="Next" /></a><a accesskey="i" href="J2EETutorialIX.html"></a>        </td>	<td align="right" valign="center">	<font size="-1">	<a href="http://java.sun.com/j2ee/1.4/docs/api/index.html" target="_blank">API</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/search.html" target="_blank">Search</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/sendusmail.html" target="_blank">Feedback</a></font>	</font>	</td>      </tr>    </table>    <img src="images/blueline.gif" width="550" height="8" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT="Divider"><p><font size="-1">All of the material in <em>The J2EE(TM) 1.4 Tutorial</em> is <a href="J2EETutorialFront2.html">copyright</a>-protected and may not be published in other workswithout express written permission from Sun Microsystems.</font>  </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -