Struts2基本使用-注解方式
Struts2注解是由Struts 2的约定插件支持的 ,详细请查看这里Struts 2 约定插件文件
Struts 2的约定插件将所有的注解操作文件名转换为指定的格式。
例如 : LoginAction.java
-
首先,去掉“Action”字符在文件名的末尾,如果存在的话。
-
其次,转换文件名的第一个字母为小写。
因此,去除结束并转换第一个字母为小写后,LoginAction.action 将变为 login.action。
演示案例
演示工程目录结构
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.study</groupId>
<artifactId>struts2-xml-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.1.8</version>
</dependency>
</dependencies>
</project>
所有类注解不在需要struts.xml配置文件
LoginAction.java
package com.dk.user.action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ResultPath;
import com.opensymphony.xwork2.ActionSupport;
@Namespace("/User")
@ResultPath(value="/WEB-INF/jsp")
@Result(name="success",location="/WEB-INF/jsp/login.jsp")
public class LoginAction extends ActionSupport{
}
WelcomeUserAction.java
package com.dk.user.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ResultPath;
import com.opensymphony.xwork2.ActionSupport;
@Namespace("/User")
@ResultPath(value="/WEB-INF/jsp")
public class WelcomeUserAction extends ActionSupport{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Action(value="Welcome", results={
@Result(name="success",location="/WEB-INF/jsp/welcome_user.jsp")
})
public String execute() {
System.out.println("into.....welcome");
return SUCCESS;
}
}
login.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head></head>
<body>
<h1>Struts 2 Hello World Example</h1>
<s:form action="Welcome">
<s:textfield name="username" label="Username" />
<s:password name="password" label="Password" />
<s:submit />
</s:form>
</body>
</html>
welcome_user.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head></head>
<body>
<h1>Struts 2 Hello World 示例</h1>
<h2>
Hello
<s:property value="username" />
</h2>
</body>
</html>
加载工程struts2-annotion-demo,启动Tomcat运行程序,最终页面效果:
LoginAction.action 改为 login.action
录入请求路径:http://localhost:8088/struts2-annotion-demo/User/login.action
点击提交Submit后: