AJAX在Struts2中使用

前台页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
    
<!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>
<script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    $(function(){
        //1点击删除的时候,确定删除吗?
        $(".delete").click(function(){
        var lastName=$(this).next(":input").val();
             var flag=confirm("确定要"+lastName+"删除吗?");
             if(flag){
                 //删除,使用ajax的方式
                 var url=this.href;
                 var args={"time":new Date()};
                 $.post(url,args,function(data){
                     if(data=="1"){
                     alert("删除成功");
                     $tr.remove();
                     }else{
                         alert("删除失败")
                     }
                 });
             }
             //取消超链接的默认行为
             return false;
        });
    })
</script>
</head>
<body>
    
    <h4>Employee List Page</h4>
    
    <s:if test="#request.employees == null || #request.employees.size() == 0">
        没有任何员工信息
    </s:if>
    <s:else>
        <table border="1" cellpadding="10" cellspacing="0">
            <tr>
                <td>ID</td>
                <td>LASTNAME</td>
                <td>EMAIL</td>
                <td>BIRTH</td>
                <td>CREATETIME</td>
                <td>DEPT</td>
                <td>delete</td>
            </tr>
            <s:iterator value="#request.employees">
                <tr>
                    <td>${id }</td>
                    <td>${lastName }</td>
                    <td>${email }</td>
                    <td>${birth }</td>
                    <td>${createtime }</td>
                    <td>${department.departmentName } </td>
                    <td><a href="emp-delete?id=${id }" class="delete">Delete</a>
                        <input type="hidden" value="${lastName }">
                    </td>
                    
                </tr>
            </s:iterator>
        </table>
    </s:else>
        
</body>
</html>

ACTION中:

public String delete(){
        
        try {
            employeeService.deleteEmployee(id);
            inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            try {
                inputStream=new ByteArrayInputStream("0".getBytes("UTF-8"));
            } catch (UnsupportedEncodingException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

        }
        return "delete";
    }

    private InputStream inputStream;
    public InputStream getInputStream() {
        return inputStream;
    }

struts.xml文件中:

<package name="default" namespace="/" extends="struts-default">
        <action name="emp-*" class="employeeAction"
            method="{1}">
        <result name="list">/emp-list.jsp</result>
    
        <result type="stream" name="delete">
            <param name="contentType">text/html</param>
            <param name="inputName">inputStream</param>
        </result>
        </action>
       
    </package>

 

posted @ 2016-08-25 15:30  陆伟  阅读(115)  评论(0编辑  收藏  举报