Struts execute()没有被调用,而是调用了ActionSupport的execute()

时间:2012-02-22 08:16:22

标签: struts2 struts

我正在使用struts 2和convention插件,我看到了奇怪的行为。我的类的execute()没有被调用,而是调用了超类ActionSupport中的execute()。因此我的业务逻辑没有被执行。在此示例中,视图中获取的消息属性为null。当我试图放弃约定插件并在struts.xml中声明操作时,它运行正常。以下是我的代码。

public class HelloAction extends ActionSupport {

    private String message;

    @Override
    public String execute() {
        message = new Date().toString();
        return SUCCESS;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

感谢任何帮助。 谢谢和问候,

M Cachia

1 个答案:

答案 0 :(得分:1)

与给定代码无关,它在我的系统中工作正常,控制器进入execute()方法HelloAction类。我使用下面的xml配置工作正常。

<action name="test" class="com.HelloAction">
  <result>/jsp/results.jsp</result>
</action>

请查看配置文件。