Struts之二 Action类

1 Action 类
>Action 类: 能够处理 Struts2 请求的类. 
  • 属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生
  • 必须有一个不带参的构造器: 通过反射创建实例 
  • 至少有一个供 struts 在执行这个 action 时调用的方法
  • 同一个 Action 类可以包含多个 action 方法. 
  • Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例, 即 Action 不是单例的, 是线程安全的. 

>action VS Action 类 : action代表一个  Struts2 的请求. Action 类: 能够处理 Struts2 请求的类.

>ActionSupport:默认的 Action 类


2 Example


UserAction.java

<span style="font-size:14px;">package com.ithings.firststep;

import com.opensymphony.xwork2.ActionContext;
import java.util.Map;

/**
 *
 * @author mlu
 */
public class UserAction {
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
    
    public String login(){
        ActionContext actionContext = ActionContext.getContext();
        Map<String,Object> sessionMap = actionContext.getSession();
        sessionMap.put("username", username);
        
        return "success";
    }
    
    public String logout(){
        ActionContext actionContext = ActionContext.getContext();
        Map<String,Object> sessionMap = actionContext.getSession();
        sessionMap.put("username", username);
        
        return "success";
    }
}</span><span style="font-size: 18px;">
</span>
index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <form action="login.action" method="post">
            <input type="text" name="username"></input>
            <input type="submit" value="登陆"></input>
        </form>
    </body>
</html>

login.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>欢迎登陆</h1>${session.username}
        
        <form action="logout.action" method="post">
            <input type="hidden" name="username" value="${session.username}"></input>
            <input type="submit" value="登出"></input>
        </form>
    </body>
</html>
logout.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>欢迎下次光临</h1>${session.username}
    </body>
</html>
struts.xm

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <package name="stepone" extends="struts-default">
        <action name="*" class="com.ithings.firststep.UserAction" method="{1}">
            <result name="success">/WEB-INF/pages/{1}.jsp</result>
        </action>
    </package>
</struts>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值