WARN compensymphone.xwork 2.ognl.OgnlValueStockの異常な解決方法[ボタンを提出して画像を使ってname属性を設定して、actionに対してgettersetterがない]

1627 ワード

記事のソース:http://hi.baidu.com/gpsdreamer/item/544050ed0e00e4d0e1a5d4cd
<span style="color:#454545;">WARN </span><span style="color:#ff9900;">com.opensymphony.xwork2.ognl.OgnlValueStack:60</span><span style="color:#454545;"> - Error </span><span style="color:#ff9900;">setting expression 'ssc.x'</span><span style="color:#454545;"> with value '[</span><span style="color:#ff9900;">Ljava.lang.String;@28d320d6'</span><span style="color:#454545;">
ognl.OgnlException: target is null for setProperty(null, "x", [Ljava.lang.String;@28d320d6)
ognl.OgnlException: target is null for setProperty(null, "y", [Ljava.lang.String;@32a88bc2) </span>
の解決方法
Struts 2この異常はフォームを提出する時に発生したもので、一見Struts 2タイプの変換の誤りと思われますが、プログラムの中ではStruts 2タイプの変換は全く使われていません。また、フロントページのindex.jspにもx、yというパラメータが設定されていません。そして、このエラーはプログラムの正常な動作に影響しません。長い間探しましたが、最後にボタンを提出したからです。ボタンを提出したのは写真です。
<input id=「submit」 type=「イメージ」 name="ssc" src=「asterts/imags/5.jpg」/>
フォーム提出にはname属性が設定されていますので、struts 2は対応する値を受信してsetを検索します。 和 get方法ですが、actionにはこのname値がないので、上記のようなエラーが発生しました。このように書いてもいいです
<input id=「submit」 type=「イメージ」  src=「asterts/imags/5.jpg」 />
name属性を取り除くだけでいいです。
実は、struts.xmlファイルには「struts.devMode」属性が設定されています。
struts.devModeの時 = trueの場合は、strutsを使ってデフォルトの設定でactionに提出するパラメータに対して、強制的にsetterメソッドが必要です。)フォームデータには、action属性と一致しないパラメータ名があると、このような情報が提示されます。だから、開発の過程でこの属性をtrueに設定するのはまだとてもいいです。これはいくつかの可能性がありますが、無視された問題を発見してくれます。