0

アプリケーションにstruts2を使用しています。

<s:submit cssClass="button" key="btn.search" tabindex="12" />

ApplicationResources.propertiesファイルに私が持っている

btn.search = Go

ページの送信中にエラーが発生しました。

OgnlValueStac W com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn 
  Error setting expression 'btn.search' with value '[Ljava.lang.String;@14f414f4'
  ognl.OgnlException: target is null for setProperty(null, "search", [Ljava.lang.String;@14f414f4)

どうしたの?

4

2 に答える 2

0

attributeは、 およびattributesの省略key形です。namevalue

Usingkeyは、 という名前のプロパティを想定していることを意味しますbtn.search

テキスト プロパティ ルックアップの結果に値を設定することもできますが、直接使用することもできます

<s:submit value="%{getText('btn.search')}" />
于 2012-07-11T20:18:34.263 に答える
0

はパラメータとして送信され、OGNL はを呼び出してパラメータを設定するためにからkey名前の付いたオブジェクトを取得しようとしていますが、スタックに btn オブジェクトがないため、null ターゲット例外が発生しています。 btnValueStackgetBtn().setSearch("");

これはうまくいくはずです:

<s:set name="buttonText"><s:text name="btn.search"/></s:set>
<s:submit cssClass="button" value="%{#buttonText}" tabindex="12"/>

または、Dave が彼の回答で指摘したように、アクション クラスが extends の場合も同様に機能するはずですActionSupport

<s:submit cssClass="button" value="%{getText('btn.search')}" tabindex="12"/>
于 2012-07-11T18:25:18.377 に答える