的JavaServer Pages 2.3規範語句
•對於標準或自定義操作屬性,接受請求時表達式值, Container必須評估操作的主體並將此評估的結果用作屬性的值。在這種情況下,屬性操作的主體可以是任何JSP內容。如果屬性的類型不是字符串,則應用標準類型轉換規則,如章節JSP.1.14.2.1,「來自字符串值的轉換」所述。
例如:接受一個請求時表達式值,所以下面的例子將評估動作的主體
<jsp:element>
的屬性。
<jsp:element name="xmlElement">
<jsp:attribute name="xmlElementAttr">${param.test}</jsp:attribute>
</jsp:element>
<jsp:element name="xmlElement">
<jsp:attribute name="xmlElementAttr"><%=request.getParameter("test")%></jsp:attribute>
</jsp:element>
•對於標準或自定義操作屬性是不接受請求時表達式的值,容器必須用身體動作作爲屬性的值。如果操作的主體包含模板文本以外的任何內容,則必須導致翻譯錯誤。
例如:
的<jsp:getProperty>
的property
屬性不接受請求時表達式值。所以下面的例子將得到的翻譯錯誤。
<jsp:getProperty name="bean1">
<jsp:attribute name="property">${param.test}</jsp:attribute>
</jsp:getProperty>
看起來很困惑,我在''標籤內沒有看到任何' jsp:attribute>'。據我所知'''是用來設置'xml'標籤屬性的值,而不是任何'Bean'的屬性。爲了設置屬性,使用''標籤。 –