1

1 つのメンバー変数「データ」を持つ非常に単純なアクション クラスがあります。通常の URL を送信すると、Tomcat コンソールに次のような値が表示されます。Test action data=hello

public class ActionTest extends ActionSupport {

private static final long serialVersionUID = -2606731098320589210L;
private String data;

public String getData() {
    return data;
}

public void setData(String data) {
    this.data = data;
}

@Action(value = "mytestaction")
public String execute() {
    System.out.println("Test action data="+data);
    return SUCCESS;
}
}

tomcat コンソールでmytestaction.action?data=hello&debug=browserを使用して URL を変更するようなデバッグ モードを使用すると、 Test action data=null. ただし、パラメーターのブラウザー ognl コンテキスト ツリーに値が表示されます。ただし、dataAction クラスが展開されている場合は同じです。

debug=xmlのような他のデバッグ モードでは、次のようになります。

<actionErrors /> 
<actionMessages /> 
<class>class com.ycs.fe.actions.ActionTest</class> 
<data>hello</data> 
<errorMessages /> 
<errors /> 
<fieldErrors /> 

そして、デバッグ=コンソールモードで、OGNL#action.data =>shows hello も印刷し#parameters.data[0] => shows helloます。

これは本物のバグですか?または私は何かが欠けていますか?struts.xml で規約とマッピングを試しましたが、どちらも同じ結果になりました。

4

0 に答える 0