Struts2.0 页面不走 Action 里面的方法

2024-11-01 15:58:52
推荐回答(2个)
回答(1):

不进入save方法,可能是由于某个参数传递失败导致的。

你的Action看来是继承了ActionSupport类,并且action package继承的是struts-default,struts2默认包里有一个Workflow拦截器,它对继承了ActionSupport类的action有这么一个假设:

  如果有参数传递或转换失败,那么不进入action方法,而直接返回INPUT。

这种情况我曾遇到过多次,也很可能是产生你遇到的这种现象的原因。

关于如何检查是不是这种原因,可以查看一下console日志里是否有参数转换失败等的异常信息,另外,可以在save方法上加上InputConfig:

@InputConfig(methodName="toAdd")
public String save() {
}

InputConfig标注是告诉Workflow拦截器,如果不调用save,那么去调用toAdd方法。然后看看提交页面的时候toAdd中的断点是否会被断下,如果被断下了,说明真的是遇到这种情况了,再查查是哪个参数传递失败了。

回答(2):

将s:form的action属性添加个后缀.action试试,不行的话在把namespace属性改为../work 或者 将s:form的action改为../work/savesysAttach.action 之后去掉namespace属性试试吧。。