Struts2--基于注解方式Action配置
来源:互联网 发布:win7网吧优化工具 编辑:程序博客网 时间:2024/04/29 23:43
1、所需要的jar包:
具体示例
Login.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Struts2登录验证</title>
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <h3>Struts2登录</h3><hr/>
- <form action="${pageContext.request.contextPath}/user/login.qqi" method="post">
- <table border="1" width="500px">
- <tr>
- <td>用户名</td>
- <td><input type="text" name="loginname"/></td>
- </tr>
- <tr>
- <td>密码</td>
- <td><input type="password" name="pwd"/></td>
- </tr>
- <tr>
- <td colspan="2"><input type="submit" value="登录"/></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
src/struts.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
- "http://struts.apache.org/dtds/struts-2.1.7.dtd">
- <struts>
- <!-- 请求参数的编码方式 -->
- <constant name="struts.i18n.encoding" value="UTF-8"/>
- <!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开 -->
- <constant name="struts.action.extension" value="action,do,go,qqi"/>
- <!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开 -->
- <constant name="struts.configuration.xml.reload" value="true"/>
- <!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开 -->
- <constant name="struts.devMode" value="false"/>
- <!-- 设置浏览器是否缓存静态内容。默认值为true(生产环境下使用),开发阶段最好关闭 -->
- <constant name="struts.serve.static.browserCache" value="false" />
- <!-- 指定由spring负责action对象的创建
- <constant name="struts.objectFactory" value="spring" />
- -->
- <!-- 是否开启动态方法调用 -->
- <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
- </struts>
Login.action
package com.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ExceptionMapping;
import org.apache.struts2.convention.annotation.ExceptionMappings;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
//父包
@Namespace("/user")
@Results( { @Result(name = "success", location = "/msg.jsp"),
@Result(name = "error", location = "/error.jsp") })
@ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") })
public class LoginAction extends ActionSupport{
private static final long serialVersionUID = -2554018432709689579L;
private String loginname;
private String pwd;
@Action(value = "login")
public String login() throws Exception {
if ("qq".equals(loginname) && "123".equals(pwd)) {
return SUCCESS;
} else {
return ERROR;
}
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ExceptionMapping;
import org.apache.struts2.convention.annotation.ExceptionMappings;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
//父包
@Namespace("/user")
@Results( { @Result(name = "success", location = "/msg.jsp"),
@Result(name = "error", location = "/error.jsp") })
@ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") })
public class LoginAction extends ActionSupport{
private static final long serialVersionUID = -2554018432709689579L;
private String loginname;
private String pwd;
@Action(value = "login")
public String login() throws Exception {
if ("qq".equals(loginname) && "123".equals(pwd)) {
return SUCCESS;
} else {
return ERROR;
}
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
注解配置的解释
1) @ParentPackage 指定父包
2) @Namespace 指定命名空间
3) @Results 一组结果的数组
4) @Result(name="success",location="/msg.jsp") 一个结果的映射
5) @Action(value="login") 指定某个请求处理方法的请求URL。注意,它不能添加在Action类上,要添加到方法上。
6) @ExceptionMappings 一级声明异常的数组
7) @ExceptionMapping 映射一个声明异常
0 0
- Struts2--基于注解方式Action配置
- Struts2练习--基于注解方式Action配置
- Struts2基于注解配置action
- Struts2基于注解配置Action
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置(一)
- Struts2基于注解的Action配置(二)
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- Struts2基于注解的Action配置
- django控制字段可空的办法
- C# opcode 查询源码
- 高可用集群简介
- Processes and Threads
- 兔子--android电量
- Struts2--基于注解方式Action配置
- SocketServer模块分析
- 【OpenSSL】为Android系统构建OpenSSL
- HDU 1024 Max Sum Plus Plus(动态规划)
- 4.app是怎么炼成的
- LINUX下PHP安装VLD扩展
- 一个经典例子让你彻彻底底理解java回调机制
- javaweb学习总结(四十二)——Filter(过滤器)学习
- Debugging Deadlocks on Android