出现问题过程描述 :本来的index页面是静态的,现在由于需求变更,需要在加载首页的时候查询一次数据库,也就是要首先执行一个Action,然后再转到index.jsp页面。
我的动作 :新建一个welcome.jsp 页面,页面内容为空,只在<head></head>标签下加了一个<meta>标签,内容为:
<meta http-equiv="refresh" content="0;URL=index.action"> ,这句话的意思是,加载本页的时候立即跳转到url指定的页面或者action,这里是index.action,我让index.action执行一个数据库查询,然后返回index.jsp,那么我的首页就可以从数据库中得到数据了。应该说问题到这里结束,但是却出现了 HTTP Status 404 - No result defined for action XXXX.IndexAction and result success 错误,我觉得我的逻辑没有问题,可是却出错了,但是我的其他Acton跳转都没有问题,于是查阅网络资料,得到解决方法
解决方法 :在struts.xml 的相关package 中加入namespace="" ,同时移除 struts2-convention-plugin.jar ,OK,此两个条件缺一不可。
疑问 :我没有做这个首页查询数据库的时候,struts2-convention-plugin.jar包好像对程序没有影响,一切action访问正常,可为什么我加了这个 index.action 的后,就只有这个action有问题,其他action都正常。我只能去掉 struts2-convention-plugin.jar。现在问题解决,但还是搞不明白原因,有人知道给解决一下,我也会再查阅这方面的资料。