如何使用注释设置Alias Interceptor的参数

时间:2014-04-03 05:08:59

标签: java struts2 annotations interceptor struts2-convention-plugin

我是Struts 2的新手

我想在注释中使用Alias Interceptor。

@Action(value="profile", results={
  @Result(name=SUCCESS, location="/home.jsp")}, interceptorRefs={
      @InterceptorRef(value="alias", params={"aliases", "#{'username':'name'}"}),
      @InterceptorRef(value="basicStack")})

但我总是得到错误:

  

警告:在类型'com.opensymphony.xwork2.interceptor.AliasInterceptor'上设置属性'aliases'时会发生OgnlException。

1 个答案:

答案 0 :(得分:1)

正如您在Alias Interceptor documentation中看到的,唯一可接受的参数是aliasesKey,用于更改包含您的别名Map的操作属性的名称(默认为aliases,通常您无需更改它。)

您只需将别名应用为Action参数,而不是Interceptor参数:

    @Action(value = "profile", 
           params = { "aliases", "#{'username':'name'}"},
          results = { @Result(name=SUCCESS, location="/home.jsp")}, 
  interceptorRefs = { @InterceptorRef(value="alias"),
                      @InterceptorRef(value="basicStack")})