S2SH框架入门之使用struts2

1、在struts.xml里加入 package、action、result标签

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
 3 <struts>
 4     <package name="default" namespace="/action" extends="struts-default">
 5         <action name="Login" class="com.jeson.action.Login">
 6             <result name="Success">../Success.jsp</result>
 7             <result name="Error">../Error.jsp</result>
 8         </action>
 9      </package>
10</struts>    

action name就是这个action的名字,在form表单中的action里就写这个。class就是你的处理相应活动的class文件在哪里,我的这个就是在com.jeson.action包下的Login.class文件。

意思是当java文件返回Success时跳转到Success.jsp,当java文件返回Error时跳转到Error.jsp。

2、写Java类

package com.jeson.action;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.jeson.po.*;
import com.jeson.po.Login;
import com.opensymphony.xwork2.ActionSupport;

public class Delete extends ActionSupport
{
    private String username="";
    private String password="";
    
    public String getUsername()
    {
        return username;
    }

    public void setUsername(String username)
    {
        this.username = username;
    }

    public String getPassword()
    {
        return password;
    }

    public void setPassword(String password)
    {
        this.password = password;
    }

    @Override
    public String execute() throws Exception
    {
        Session session = HibernateSessionFactory.getSession();
        Transaction tr=session.beginTransaction();
        String u;
        u = getUsername();
        //p = getPassword();
        //com.jeson.po.Login l = new com.jeson.po.Login();
        com.jeson.po.Login l =(Login) session.get(com.jeson.po.Login.class,u);
        //l.setUsername(u);        
        try
        {
            
            session.delete(l);
            tr.commit();
            return "Success";
        }
        catch(HibernateException e)
        {
            e.printStackTrace();
            tr.rollback();
            return "Error";
        }
        finally
        {
            session.close();
        }
        
    }
}

首先要继承ActionSupport类,

其次这个类的成员变量要和网页中form表单提交的东西名字一样,比如我提交的是username和password,所以这个类两个成员变量也是这两个。

之后要重写public String execute() throws Exception ,这个方法是自动执行的,返回值就是刚才的success或者error。

3、在网页的form表单中使用就行了:

<form name="form2" method="post" action="action/Delete.action">
      <label>用户名:
        <input type="text" name="username">
      </label>
      <p>
        <label>
        <input type="submit" name="Submit" value="删除">
        </label>
      </p>
    </form> <br>

值得注意的是,struts中的<package name="default" namespace="/action" extends="struts-default"> namespace=“/action”,所以,form表单的action也要加上action/。如果namespace=“/*” 在form里action直接写Delete.action就好了。

转载于:https://www.cnblogs.com/hehejeson/articles/6605970.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值