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

key作为参数提交,OGNL 试图从 中获取一个对象以btn通过ValueStack调用来设置参数getBtn().setSearch("");,但是,由于堆栈中没有 btn 对象,因此会发生空目标异常。

这应该有效:

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

或者,正如戴夫在他的回答中指出的那样,如果您的操作类扩展,这也应该有效ActionSupport

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

key属性是和属性name简写。value

Usingkey意味着你假设一个名为btn.search.

While you may set a value to the results of a text property lookup, you can also use it directly:

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