Ajax利用JQuery在Struts2的实现

来源:互联网 发布:java课程教学 编辑:程序博客网 时间:2024/06/19 04:07

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


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 0
原创粉丝点击