java

位置:IT落伍者 >> java >> 浏览文章

Struts2注解(旧&新)


发布日期:2021年08月19日
 
Struts2注解(旧&新)

旧版本使用注解

开始使用注解使用的是 strutscorejar

这个时候的过滤器是orgapachestrutsdispatcherFilterDispatcher

可以在webxml里面指定action的祖包actionPackages

[html] <initparam>

<paramname>actionPackages</paramname>

<paramvalue>manning</paramvalue>

</initparam>

<initparam>

<paramname>actionPackages</paramname>

<paramvalue>manning</paramvalue>

</initparam>

被注解的内在如上manning的包下 类名字为 TestAction 或者 Test extends ActionSupport 即可被注解为Struts的Action

内容可以为空 空跳转只需在类名上面加 Result(value=/testjsp)即可如下

[java] package manningchapterTwo;

import ornfigResult;

import orgapachestrutsdispatcherServletDispatcherResult;

import comopensymphonyxworkActionSupport;

@Result( value=/chapterTwo/AnnotatedNameCollectorjsp )

public class AnnotatedNameCollector extends ActionSupport {

}

package manningchapterTwo;

import ornfigResult;

import orgapachestrutsdispatcherServletDispatcherResult;

import comopensymphonyxworkActionSupport;

@Result( value=/chapterTwo/AnnotatedNameCollectorjsp )

public class AnnotatedNameCollector extends ActionSupport {

}或者

[java]

package manningchapterTwo;

import ornfigResult;

import orgapachestrutsdispatcherServletDispatcherResult;

@Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )

public class AnnotatedHelloWorldAction {

public String execute() {

return SUCCESS;

}

}

package manningchapterTwo;

import ornfigResult;

import orgapachestrutsdispatcherServletDispatcherResult;

@Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )

public class AnnotatedHelloWorldAction {

public String execute() {

return SUCCESS;

}

}

如上部分摘自《StrutsInAction》

新版本使用注解

但是现在注解及过滤器已经更新了高版本使用 strutscorejar

StrutsPrepareAndExecuteFilter 在原过滤器包的ng包下面

我们实现注解还需要 strutsconventionpluginjar

可以在strutsxml或strutsproperties里设置常量来设置Struts框架读取哪些类为Action

nventionactionpackages可以使用的Action的祖包默认为没有 可以读取这个包及其子包的所有头上标记了【 @Action 】 的类

nventionpackagelocators可以使用的Action的上级包默认为【actionactionsstrutsstruts这样就可以读取所有在包中的所有头上注册了【@Action】的类注意设置的action应为这个包的最后一级包 nventionactionsuffixAction类类名的后缀默认为Action

我们使用时砍掉后缀如 TestAction >访问 testaction

@Result参数变化 为 @Result(name = SUCCESS location = /mainjsp) name 默认为SUCCESS

多返回@Results( { @Result(name = success location = /mainjsp) @Result(name = error location = /errorjsp) })

可以加包 @ParentPackage(strutsdefault) 空间 @Namespace(/test) 默认为excute方法在类名上定义@Action时 其他可以定义@Action在方法上

@Action(value = add results = { @Result(name = success location = /indexjsp) })

public String add() throws Exception {

return SUCCESS;

}

               

上一篇:看 JUnit 中Metedata的巧妙应用

下一篇:开发不再是苦差事 用Eclipse简化开发