3

Charles Lyon の OCWCD を読んでいるのです<jsp:attribute>が、この部分が理解できませんでした。誰かが私を助けることができれば幸いです。

ここに行きます(本からの抜粋):

アプローチ 1:

<jsp:useBean>  
<jsp:attribute name="id">bean_name<jsp:attribute>
<jsp:useBean>    

アプローチ 2:

<jsp:useBean id="bean_name"/> 

「両方のアプローチのセマンティクスは同じです。属性がリクエスト時間式の結果を期待している場合、コンテナは<jsp:attribute>アクションの内容を評価します。それ以外の場合、本体の内容が<jsp:attribute>リクエスト時間式である場合、翻訳例外がスローされます。」

彼が何を言おうとしているのか、何か分かりますか?

4

1 に答える 1

11

JavaServer Pages 2.3 仕様ステートメント

•リクエスト時の式の値を受け入れる標準またはカスタムのアクション属性の場合、コンテナはアクションの本体を評価し、この評価の結果を属性の値として使用する必要があります。この場合、属性アクションの本体は任意の JSP コンテンツにすることができます。属性のタイプが文字列でない場合、セクション JSP.1.14.2.1「文字列値からの変換」に従って、標準の型変換ルールが適用されます。

例:

<jsp:element>request-time 式の値を受け入れる の属性であるため、次の例ではアクションの本体を評価します。

<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>


•要求時の式の値を受け入れない標準またはカスタムのアクション属性の場合、コンテナはアクションの本体を属性の値として使用する必要があります。アクションの本文にテンプレート テキスト以外が含まれている場合は、翻訳エラーが発生する必要があります。

例:

property属性は<jsp:getProperty>、要求時の式の値を受け入れません。したがって、次の例では変換エラーが発生します

<jsp:getProperty name="bean1">
    <jsp:attribute name="property">${param.test}</jsp:attribute>
</jsp:getProperty>
于 2013-11-07T23:05:36.377 に答える