yap*_*m01 3 java jsp java-ee java-ee-6
我正在读Charles Lyon的OCWCD <jsp:attribute>,我无法理解这一部分.如果有人能帮助我,我将不胜感激.
在这里(摘自书中):
方法1:
<jsp:useBean>
<jsp:attribute name="id">bean_name<jsp:attribute>
<jsp:useBean>
Run Code Online (Sandbox Code Playgroud)
方法2:
<jsp:useBean id="bean_name"/>
Run Code Online (Sandbox Code Playgroud)
"两种方法的语义都是相同的,因为如果一个属性期望请求时间表达式的结果,那么容器将评估该
<jsp:attribute>动作的内容;否则如果主体内容<jsp:attribute>是请求时间表达式,则翻译异常将被抛出."
知道他想说什么吗?
stu*_*udy 11
JavaServer Pages 2.3规范声明
•对于接受请求时表达式值的标准或自定义操作属性,Container必须评估操作的主体并将此评估的结果用作属性的值.在这种情况下,属性操作的主体可以是任何JSP内容.如果属性的类型不是String,则按照章节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>
Run Code Online (Sandbox Code Playgroud)
•对于不接受请求时表达式值的标准或自定义操作属性,Container必须使用操作主体作为属性的值.如果操作的主体包含除模板文本之外的任何内容,则必须导致转换错误.
例:
该property属性<jsp:getProperty>不接受请求时表达式值.因此,以下示例将出现转换错误.
<jsp:getProperty name="bean1">
<jsp:attribute name="property">${param.test}</jsp:attribute>
</jsp:getProperty>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5770 次 |
| 最近记录: |