我有一个非常简单的动作类,它有一个成员变量“数据”。当我提交正常的网址时,它会在 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=browserTest action data=null
修改 url,它会显示. 但它在参数中显示浏览器ognl上下文树中的值。但是,data
当 Action 类展开时,同样为 null。
在debug=xml等其他调试模式下,它是
<actionErrors />
<actionMessages />
<class>class com.ycs.fe.actions.ActionTest</class>
<data>hello</data>
<errorMessages />
<errors />
<fieldErrors />
如果我也打印 OGNL ,则在debug=console模式下。#action.data =>shows hello
#parameters.data[0] => shows hello
这是一个真正的错误吗?还是我错过了什么?我尝试在 struts.xml 中使用约定和映射,但两者的结果相同。