当在struts.xml中使用chain和redirectAction这两个类型结果的时候,会报检查错误!
Multiple annotations found at this line:
- Undefined actionnamespace
parameter
- Undefined actionName
parameter
chain结果类型有4个属性,分别是:
1.actionName (default) - the name of the action that will be chained to
2.namespace - used to determine which namespace the Action is in that we're chaining. If namespace is null, this defaults to the current namespace
3.method - used to specify another method on target action to be invoked. If null, this defaults to execute method
4.kipActions - (optional) the list of comma separated action names for the actions that could be chained to
其中actionName和namespace是必不可少的,否则就会报错。所以我在项目中就写成如下形式:
1
2
3
4
5
6
7
8
|
< package name = "struts" extends = "struts-default" namespace = "/bg" >
< action name = "login" class = "loginAction" >
< result type = "chain" >
< param name = "actionName" >index</ param >
< param name = "namespace" >/bg</ param >
</ result >
</ action >
</ package >
|
但是这么写就有一个问题,我的项目比较简单,不想使用命名空间,于是我就想怎么解决这个问题呢,在看官方文档的时候我发现这么一句话:
A root namespace ("/") is also supported. The root is the namespace when a request directly under the context path is received. As with other namespaces, it will fall back to the default ("") namespace if a local action is not found.
于是我就想,用"/"代替"/bg"不就可以解决问题了么。然后就把代码写成如下形式
1
2
3
4
5
6
7
8
|
< package name = "struts" extends = "struts-default" namespace = "/" >
< action name = "login" class = "loginAction" >
< result type = "chain" >
< param name = "actionName" >index</ param >
< param name = "namespace" >/</ param >
</ result >
</ action >
</ package >
|