struts2注解
来源:互联网 发布:cassandra 数据库设计 编辑:程序博客网 时间:2024/05/24 01:43
在struts2中运用注解是把sttuts.xml文件中package节点的action配置在action类中用注解语句声明。
我们知道通常情况下,Struts2是通过struts.xml配置的。但是随着系统规模的加大我们需要配置的文件会比较大,虽然我们可以根据不同的系统功能将不同模块的配置文件单独书写,然后通过<include>节点将不同的配置文件引入到最终的struts.xml文件中,但是毕竟还是要维护和管理这些文件,因此也会给维护工作带来很大的困扰。为了解决这个问题,可以考虑使用struts2的注解。实际上struts2中最主要的概念就是package、action以及Interceptor等等概念,所以只要明白这些注解就可以了。
下面以一个注册和登录的小例子来讲解struts2的注解。
一:在原来jar包的基础上导入一个包struts2-convention-plugin-2.1.8.1.jar。
二:具体的代码:
登录页面:login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>注解登录页面</title></head><body><form action="login" method="post">用户名:<input name="userName" type="text"><br>密码:<input name="userPwd" type="password"><br><input type="submit" value="login"></form></body></html>
注册页面:register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>注解注册页面</title></head><body><form action="register" method="post">用户名:<input name="userName" type="text"><br>密码:<input name="userPwd" type="password"><br><input type="submit" value="register"></form></body></html>
登录或注册成功页面:index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><!-- 显示登录或注册成功的信息 -->${message }</body></html>
action:AnnoAction类
package action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.ParentPackage;import org.apache.struts2.convention.annotation.Result;import com.opensymphony.xwork2.ActionSupport;@ParentPackage("struts-default")@Namespace("")public class AnnoAction extends ActionSupport {private static final long serialVersionUID = 1L;private String userName;private String userPwd;private String message;//登录方法@Action(value="login", results={ @Result(name = "loginSucc", location = "/index.jsp"), @Result(name = "loginError", location = "/login.jsp") })public String login(){if(userName.equals("")){return "loginError";}message="登录成功!";return "loginSucc";}//注册方法@Action(value="register", results={ @Result(name = "registerSucc", location = "/index.jsp"), @Result(name = "registerError", location = "/register.jsp") })public String register(){if(userName.equals("")){return "registerError";}message="注册成功!";return "registerSucc";}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <!-- 用了注解后下面的代码就可以不用了 --> <!-- <package name="default" extends="struts-default"> <action name="user" class="annoAction"> <result>/index.jsp</result> <result name="input">/login.jsp</result> </action> </package> --></struts>
这样就完成了一个基于注解的action配置。
总结常用的注解如下:
Namespace:指定命名空间。
ParentPackage:指定父包。
Result:提供了Action结果的映射。(一个结果的映射)
Results:“Result”注解列表
ResultPath:指定结果页面的基路径。
Action:指定Action的访问URL。
Actions:“Action”注解列表。
ExceptionMapping:指定异常映射。(映射一个声明异常)
ExceptionMappings:一级声明异常的数组。
InterceptorRef:拦截器引用。
InterceptorRefs:拦截器引用组。
- struts2注解
- struts2注解
- struts2 注解
- struts2 注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- Struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- struts2注解
- Ubuntu 8.04LTS 下中文输入法FCITX的安装与汉字显示方块的解决方
- Windows查看进程
- malloc/free的原理
- 学习网址收集
- android竖屏显示
- struts2注解
- 会的多和会的精,你会选哪个
- JSTL标签库及下载和配置
- 北大ACM poj1080 Human Gene Functions
- 操作系统十三I/O输入系统
- 使用 bootstrap css framework开发前端一点经验
- JSP标准标签库
- Android开发22——广播接收者BroadcastReceiver的原理和注册方式
- 深入Hibernate的flush机制