除了使用配置文件配置以外,还可以使用注解来配置html
如下是一些常用的注解java
@Action指定一个类为action,相应配置文件里的<action>....</action>标签,当中可以配置例如如下属性jsp
@Action(value = "testAction",results = {@Result(name="success",location="/success.jsp")}) public class testAction extends ActionSupport { @Override public String execute() throws Exception { return SUCCESS; } }这就至关于例如如下的xml配置
<action name="testAction" class="struts2.action.testAction"> <result name="success">/success.jsp</result> </action>在xml配置中假设name不写,那么默认就是success,在注解中也是,假设results中的name不写。那么默认就是success
@Actions({ @Action(value = "testAction",results = {@Result(location="/success.jsp")}), @Action(value = "testAction2",results = {@Result(location="/success.jsp")}) }) public class testAction extends ActionSupport { @Override public String execute() throws Exception { return SUCCESS; } }这是使用/testAction或者/testAction2都可以跳转到success.jsp上。因为配置了两个action映射
<action name="*" class="struts2.action.testAction" method={1}> <result name="{1}">/{1}.jsp</result> </action>这是xml配置中的通配符方式,即当咱们以add来訪问action时。将会进到action的add方法进行处理。当返回add时会跳转到add.jsp页面
public class testAction extends ActionSupport { @Action(value = "add",results = {@Result(name="add",location="/add.jsp")}) public String add() throws Exception { return "add"; } @Action(value = "delete",results = {@Result(name="delete",location="/delete.jsp")}) public String delete() throws Exception { return "delete"; } }这样便实现了上面的效果。这说明@Action也是可以在方法上声明的(@Actions也可以在方法上声明)
@Result配置详细返回结果。在results中使用,也可以单独在类上使用,有例如如下属性
ide
@Result(name="delete",location = "/delete.jsp") public class testAction extends ActionSupport { @Action(value = "add", results = { @Result(name = "add", location = "/add.jsp") }) public String add() throws Exception { return "add"; } @Action(value = "delete") public String delete() throws Exception { return "delete"; } }尽管delete方法没有指定返回delete时要跳转到哪一个页面页面。但是在类上用@Result声明了,那么就会找到类上面的这个@Result,而后跳转到delete.jsp页面