Ajax利用JQuery在Struts2的实现

这里有篇文章但是基本对的,有些东西需要自己写很坑爹,感觉他吧一些东西删去了。


1.Struts.xml必须写上json格式和数据,不然传什么值


     <result name="USER" type="json">
            <param name="root">dataMap</param>
            </result> 
<?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>
  <constant name="struts.devMode" value="true"/>  
    <!-- <constant name="struts.devMode"  value="true" ></constant> -->
    <constant name="struts.objectFactory.spring.autoWire" value="true"></constant>
     <constant name="struts.enable.DynamicMethodInvocation" value="true"/>

    <!--采用json数据格式,package的extends必须是extends="json-default"-->  
    <!--并且必须要用到struts2的json-lib,struts2-json-plugin包-->  
    <!--采用异步提交方式,result的type="json",并且result节点值为空-->  
    <package name="default" namespace="/" extends="json-default">  
        <!--客户端请求采用DMI(动态调用)-->  
        <action name="input_user" class="com.struts.UserAction" method="queryHello">  
          <!--  <result name="INPUT_USER">/input_user.jsp</result>  -->  
            <result name="hel" type="json">
            <param name="root">dataMap</param>
            </result>  
        </action>  
        <action name="helloworld" class="helloworldAction">
        <result name="success" >hhh.jsp</result>
         </action>
        <!--客户端请求(非动态调用)-->  
        <action name="userInfo" class="com.struts.UserAction" method="loadUserInfo">  
            <result name="userInfo" type="json">
            <param name="root">dataMap</param>
            </result>  
        </action>  

        <action name="userInfoList" class="com.struts.UserAction" method="loadUserInfoList">  
            <result name="userInfoList" type="json"></result>  
        </action>  


        <action name="add_user" class="com.struts.UserAction" method="addUser">  
            <result name="ADD_SUCCESS" type="json">
            <param name="root">dataMap</param>
            </result>  
        </action>  

        <action name="load_allUser" class="com.struts.UserAction" method="loadAllUser">  
            <result name="USER" type="json">
            <param name="root">dataMap</param>
            </result>  
        </action>  

        <!--不采用异步提交方式显示-->  
        <action name="load_allUser_jump" class="com.struts.UserAction" method="loadAllUser">  
            <result name="USER">/User.jsp</result>  
        </action> 
        <action name="hello" class="com.struts.Hello" >  
            <result name="success">/User.jsp</result>  
        </action> 
          </package>  
        </struts>
</xml>

2.Action要有getset方法:

package com.struts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.json.JSONObject;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.bean.Person;
import com.bean.UserDaoImp;
import com.bean.user;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
    ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
   UserDaoImp userDaoImp=(UserDaoImp) context.getBean("userDao");


    public UserDaoImp getUserDaoImp() {
    return userDaoImp;
}

public void setUserDaoImp(UserDaoImp userDaoImp) {
    this.userDaoImp = userDaoImp;
}

    public String inputUser() {
        return "INPUT_USER";
    }

    public String queryHello() {
        this.hello = "hello world";
        dataMap = new HashMap<String, Object>();  
        dataMap.put("userInfo", u);  
        dataMap.put("hello", hello);
        dataMap.put("userList", userList);
        // 放入一个是否操作成功的标识  
        dataMap.put("success", true);  
        return "hel";
    }

    public String loadUserInfo() {
        u= new user();
        u.setId(0);
        u.setUsername("aaa");
        dataMap = new HashMap<String, Object>();  
        dataMap.put("userInfo", u);  
        dataMap.put("hello", hello);
        dataMap.put("userList", userList);
        // 放入一个是否操作成功的标识  
        dataMap.put("success", true);
        return "userInfo";
    }

    public String loadUserInfoList() {
        userList = new ArrayList<user>();

        user userInfo= new user();
        userInfo.setId(1);
        userInfo.setUsername("a1aa");

        user userInfo1= new user();
        userInfo.setId(2);
        userInfo.setUsername("a2aa");

        user userInfo2= new user();
        userInfo.setId(3);
        userInfo.setUsername("a3aa");

        userList.add(userInfo);
        userList.add(userInfo1);
        userList.add(userInfo2);
        // 将要返回的map对象进行json处理  
        dataMap = new HashMap<String, Object>();  
        dataMap.put("userInfo", u);  
        dataMap.put("hello", hello);
        dataMap.put("userList", userList);
        // 放入一个是否操作成功的标识  
        dataMap.put("success", true);
        System.out.println(dataMap.toString());
        return "userInfoList";
    }


    public String addUser() {
        /*userInfo = new UserInfo();
        userInfo.setId(7);
        userInfo.setName("张7");*/

        //如果是异步提交json格式,必须先在js中对提交的表单form进行序列化
        //var params = $("subUserForm").serialize();
         System.out.println(u.toString());
        userDaoImp.save(u);

        System.out.println("cunle");
        userList = (List<user>) userDaoImp.getUserlist();
        // 将要返回的map对象进行json处理  
        dataMap = new HashMap<String, Object>();  
        dataMap.put("userInfo", u);  
        dataMap.put("hello", hello);
        dataMap.put("userList", userList);
        // 放入一个是否操作成功的标识  
        dataMap.put("success", true);
        System.out.println(dataMap.toString());
        return "ADD_SUCCESS";
    }

    public String loadAllUser() {

        userList = (List<user>) userDaoImp.getUserlist();
        // 将要返回的map对象进行json处理  
        dataMap = new HashMap<String, Object>();  
        dataMap.put("userInfo", u);  
        dataMap.put("hello", hello);
        dataMap.put("userList", userList);
        // 放入一个是否操作成功的标识  
        dataMap.put("success", true);
        System.out.println(dataMap.toString());
        return "USER";
    }

    /
    private String hello;

    public String getHello() {
        return hello;
    }

    public void setHello(String hello) {
        this.hello = hello;
    }



    public user getU() {
        return u;
    }

    public void setU(user u) {
        this.u = u;
    }

    public List<user> getUserList() {
        return userList;
    }

    public void setUserList(List<user> userList) {
        this.userList = userList;
    }

    private user u;
    private List<user> userList;
    public HashMap<String, Object> dataMap;


    public HashMap<String, Object> getDataMap() {
        return dataMap;
    }

    public void setDataMap(HashMap<String, Object> dataMap) {
        this.dataMap = dataMap;
    }
}


-


其他的与他的相似,另外,spring下配置struts:


<constant name="struts.objectFactory.spring.autoWire" value="true"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
加油

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值