У меня есть очень простой класс действий с одной переменной-членом "data".когда я отправляю обычный 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;
}
}
Если я использую режим отладки, например, изменение URL с помощью mytestaction.action? data = hello & debug = browser в консоли Tomcat это показывает Test action data=null
.Но он показывает значение в контекстном дереве браузера ognl в параметрах.Однако тот же data
является нулевым при расширении класса Action.
В других режимах отладки, таких как debug = xml , он имеет вид
<actionErrors />
<actionMessages />
<class>class com.ycs.fe.actions.ActionTest</class>
<data>hello</data>
<errorMessages />
<errors />
<fieldErrors />
и debug = console режим, если я печатаю OGNL #action.data =>shows hello
также #parameters.data[0] => shows hello
.
Это настоящая ошибка?или я что-то упустил?Я пробовал с условием, а также с отображением в struts.xml, но оба результата имеют одинаковый результат.