需要引入org.apache.struts2.convention.annotation.InterceptorRefs,配合@InterceptorRef使用,通过它定义一些拦截器。参考样例如下:
UserAction.java [color=red]方式一,定义在方法上面[/color]
public class UserAction extends BaseAction <User> {
......
@Action(value = "testInter",
results = @Result(name =INTERCEPTOR_ERROR, location = "inter-error..action?id=${id}"),
interceptorRefs = @InterceptorRef("parmsUrl")
)
public String testInter(){
......
}
UserAction.java [color=red]方式二,定义在类上面[/color]
@Results( { ......,
@Result(name = UserAction.INTERCEPTOR_ERROR, location = "inter-error.action?id=${id}", type = "redirect")
})
@InterceptorRefs( {@InterceptorRef("defaultStack"),@InterceptorRef(value="parmsUrl",params={"includeMethods","testInter"})})
public class UserAction extends BaseAction <User> {
......
public String testInter(){
......
}
ParamUrlInterceptor.java
public class ParamUrlInterceptor implements Interceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
业务逻辑,实现拦截......
}
......
struts.xml
<interceptors>
......
<!-- 自定义拦截器 -->
<interceptor name="parmsUrl" class="cn.eavic.example.security.interceptor.ParamUrlInterceptor">
</interceptor>
</interceptors>
分享到:
相关推荐
import org.apache.struts2.convention.annotation.InterceptorRefs; @InterceptorRefs({ @InterceptorRef("validation"), @InterceptorRef("defaultStack") }) public class HelloWorld extends ActionSupport {...
- `@InterceptorRef` 用于引用一个拦截器,而 `@InterceptorRefs` 用于引用一组拦截器。拦截器用于在 Action 方法执行前后进行额外的操作,如日志记录、权限验证等。 **Spring 注解配置** Spring 使用注解配置...
- @InterceptorRefs(...):引用拦截器配置。 例如,可以使用@InterceptorRef注解引用特定的拦截器,如使用@InterceptorRef("logger")引用日志拦截器,或使用@InterceptorRef("myStack")引用自定义的堆栈拦截器。 ...
5. **@InterceptorRefs**:用于指定 Action 应用的拦截器链。 6. **@ExceptionMappings**:用于定义异常处理机制。 #### 五、示例代码 为了更好地理解 Convention 插件的工作原理,这里提供一个简单的示例。假设...
@InterceptorRefs(value="fileUpload",params={"maximumSize","1024000","allowedTypes",image/123}), @InterceptorRefs(value = "basicStack") }, results = { @Result(name="success",location="success.jsp...
2. `@Action`注解用于标记Action方法,可以设置value属性来指定Action的名称,并通过`interceptorRefs`来指定拦截器,如`@InterceptorRef(value = "fileUpload",params={"maximumSize","1024000","allowedTypes",...
此外,`@Action`还支持`interceptorRefs`属性来定义拦截器链,例如设置上传文件大小限制和基础拦截器栈。`results`属性则用于定义不同的结果页面,如成功和错误时跳转的JSP页面。`exceptionMappings`可以配置异常...
interceptorRefs = { @InterceptorRef("defaultStack") }) public String login() { // ...登录逻辑... } ``` 在描述中提到了"SSH",SSH通常指的是Spring、Struts2和Hibernate的组合,这是一种常见的Java Web开发...
- `interceptorRefs()`:指定Action所使用的拦截器列表。 - `params()`:传递给Action的参数列表。 - `exceptionMappings()`:定义Action可能出现的异常及对应的处理策略。 ##### 4.4 `@Result` - **用途**:...
@Action(value = "struts2-upload", interceptorRefs = { @InterceptorRef("fileUpload") }) public String execute() { for (int i = 0; i (); i++) { File file = files.get(i); String filename = filenames...
interceptorRefs = { @InterceptorRef(value = "json", params = {"contentType", "application/json"}) } ) public class MyAction implements ModelDriven<MyModel> { private MyModel model = new MyModel();...