的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'的属性。为了设置属性,使用''标签。 –