2017-04-12 4 views
2

JSPからstruts Beanに値を送信したいとします。 Beanには、私が設定したい値のマップが1つあります。それは他のすべての鍵のために働いています。下のようなキー名の場合は受け入れられません。struts2 acceptParamNamesが次の値に対して機能していません

キー名:

<interceptor-ref name="params"> 
    <!-- For maps to work --> 
    <param name="acceptParamNames">[a-zA-Z0-9\.\]\[\(\)_'\s"/-]+</param> 
</interceptor-ref> 
+0

最初に 'acceptParamNames'を変更したのはなぜですか?どのキー名がわからないのか。 –

答えて

1

私はあなたの正規表現パターンをテストしてみたし、それが指定されたキーと一致した:私は設定の下にいる私のStruts設定でProximus Voice Continuity.CUSTOMERID.value

。しかし、あなたの鍵は、OGNLの式では使用できない他の鍵で構成されています。

インターセプタからacceptParamNamesパラメータを削除すると、キーがデフォルトパターンのリストと一致しません。

この正規表現パターンは、キー名にスペースを削除した場合、それは、このパターンに一致するデフォルト

\w+((\.\w+)|(\[\d+\])|(\(\d+\))| (\['(\w|[\u4e00-\u9fa5])+'\])|(\('(\w|[\u4e00-\u9fa5])+'\)))* 

で使用されています。

関連する問題