2017-06-28 25 views
0

私のJSPコードでは、同じ属性を2回使用していて異なる値を使用する入力フィールドがあります(下のコードで<sj:submit/>の中で "disabled" 。 adminとoperatorは、バックエンドから渡される2つのブール値です。WildFlyでJSPエラーチェックを無効にする方法

<s:set id="admin" var="admin"><s:property value="admin" default="true"/></s:set> 
<s:set id="operator" var="operator"><s:property value="operator" default="true"/></s:set>  

<sj:submit button="true" value="Submit" name="submit" id="subview" onClick="todo()" 
    disabled="#admin" disabled="#operator" /> 

このコードは、WebLogic Serverの罰金働いたが、wildfly 10と、このコードを使用して、この例外が原因で発生したときに、このコードは、「jsp.error.attribute.duplicate」org.apache.jasper.JasperExceptionが例外をスローします2つの "無効"属性。私は両方の "無効"属性を使用する必要があり、私は多くのページでこれを使用しているので、私はそれらを一つずつ変更することはできません。代わりに、wildfly 10で使用するときにjspエラーチェックを無効にする方法はありますか?

+0

あなたの ' >>>>に"飛んでいる "二重引用符があります" <<<<< button = "true" 'はタイプミスですか? –

+0

間違った@Jorgeと私はそれを削除しました – SDS

答えて

0

私は、いくつかの研究の後、この問題に対する答えを見つけました。答えは "で、jsp.error.attribute.duplicateエラー"が発生しないように、wildfly 10でjspエラーチェックを無効にする方法があります。あなたは引き-IO 'parseAttributes(boolean pageDirective)'の方法を解析する属性を確認する場合は、この方法を解析する属性の中には、この属性は」と名付け「UniqueAttributesImpl」オブジェクトを使用して、独自の1であるかどうかをチェックする、ことがわかりますコンパイル中にattrs '

Attributes parseAttributes(boolean pageDirective) throws JasperException { 
     UniqueAttributesImpl attrs = new UniqueAttributesImpl(pageDirective); 

     reader.skipSpaces(); 
     int ws = 1; 

     try { 
      while (parseAttribute(attrs)) { 
       if (ws == 0 && STRICT_WHITESPACE) { 
        err.jspError(reader.mark(), 
          "jsp.error.attribute.nowhitespace"); 
       } 
       ws = reader.skipSpaces(); 
      } 
     } catch (IllegalArgumentException iae) { 
      // Duplicate attribute 
      err.jspError(reader.mark(), "jsp.error.attribute.duplicate"); 
     } 

     return attrs; 
    } 

それは、この属性が複数回使用していたことが判明した場合、それがメッセージ「jsp.error.attribute.duplicate」で、はIllegalArgumentException例外をスローします。

関連する問題