Struts1+JQuery的例子

Struts1+JQuery的例子
2014年2月10日
11:25

Struts1+JQuery+JSON/XML的例子

1.Struts+JQuery+XML

   struts-config.xml如下:

[xhtml] view plaincopy

  TestxmlAction.java如下:

[java] view plaincopy
/*

  • Generated by MyEclipse Struts
  • Template path: templates/java/JavaClass.vtl
    */
    package action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import form.TestForm;

/**

  • MyEclipse Struts

  • Creation date: 03-05-2010

  • XDoclet definition:

  • @struts.action path="/test" name="testForm" input="index.jsp" scope="request"
    /
    public class TestXmlAction extends Action {
    /

    • Generated Methods
      */

    /**

    • Method execute

    • @param mapping

    • @param form

    • @param request

    • @param response

    • @return ActionForward

    • @throws IOException
      /
      public ActionForward execute(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) throws IOException {
      TestForm testForm = (TestForm) form;// TODO Auto-generated method stub
      response.setContentType("text/xml; charset=utf-8");//传输xml时要用html
      response.setCharacterEncoding("utf-8");
      System.out.println(testForm.getTestvalue());
      PrintWriter pw=response.getWriter();
      //1.传递单个参数,注意应将text/xml改为text/html
      /
      int i=9;
      pw.print(i);
      pw.flush();/
      //2.生成xml文件返回给html页面,此时list里面为单个String
      /
      StringBuilder xml = new StringBuilder();
      List list=new ArrayList();
      list.add("aaa");
      list.add("bbb");
      list.add("ccc");
      xml.append("");
      for (Object o : list) {
      xml.append("").append(o).append("");
      }
      xml.append("
      ");
      System.out.println(xml);
      pw.print(xml.toString());
      pw.flush();/
      //3.生成xml文件返回给html页面,此时list里面为对象类型
      /
      response.setContentType("text/xml;charset=utf-8");
      StringBuilder xml = new StringBuilder();
      List list=new ArrayList();
      User user1=new User();
      User user2=new User();
      User user3=new User();
      user1.setUsername("username1");
      user1.setPassword(1);
      user2.setUsername("username2");
      user2.setPassword(2);
      user3.setUsername("username3");
      user3.setPassword(3);

      list.add(user1);
      list.add(user2);
      list.add(user3);
      xml.append("");
      for (int i=0;i<list.size();i++) {
      xml.append("");
      xml.append("").append(list.get(i).getUsername()).append("");
      xml.append("").append(list.get(i).getPassword()).append("");
      xml.append("
      ");
      }
      xml.append("
      ");
      System.out.println(xml);
      pw.print(xml.toString());*/
      return null;
      }

}

   辅助类User:

[java] view plaincopy
package action;

public class User {
private String username;
private int password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
}

   indexxml.jsp如下:

[java] view plaincopy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"😕/"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<base href="<%=basePath%>">
<title>MyStrutsJQueryJson</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="/S1.2SHJQuery/js/jquery-1.4.2.js"></script>
 

登陆

2.Struts+JQuery+JSON

  TestAction如下:

[java] view plaincopy
/*

  • Generated by MyEclipse Struts
  • Template path: templates/java/JavaClass.vtl
    */
    package action;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import form.TestForm;

/**

  • MyEclipse Struts

  • Creation date: 03-05-2010

  • XDoclet definition:

  • @struts.action path="/test" name="testForm" input="index.jsp" scope="request"
    /
    public class TestAction extends Action {
    /

    • Generated Methods
      */

    /**

    • Method execute
    • @param mapping
    • @param form
    • @param request
    • @param response
    • @return ActionForward
    • @throws UnsupportedEncodingException
      /
      public ActionForward execute(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
      TestForm testForm = (TestForm) form;// TODO Auto-generated method stub
      response.setContentType("text/json; charset=utf-8"); //注意设置为json,如果为xml,则设为xml
      /
      response.setContentType("text/xml; charset=utf-8");传输xml时要用xml
  •  response.setCharacterEncoding("utf-8");
    
  • /
    System.out.println(testForm.getTestvalue());
    //1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
    /
    List list=new ArrayList();
    list.add("string1");
    list.add("string2");
    list.add("string3");
    JSONArray json=JSONArray.fromObject(list);
    try {
    PrintWriter out=response.getWriter();
    System.out.println(json);
    out.print(json);

         out.flush();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }*/
     //2.struts1.2+JQuery+Json传递Map参数
     /*Map<String,String> map=new HashMap<String,String>();
     map.put("name1","string1");
     map.put("name2","string2");
     map.put("name3","string3");
     JSONArray json=JSONArray.fromObject(map);
     try {
         PrintWriter out=response.getWriter();
         System.out.println(json);
         out.print(json);
         out.flush();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }*/
     //3.传递单个String值
     /*String singlepara="{/"name/":'中国'}";//要注意格式
     JSONObject json=JSONObject.fromObject(test);
     try {
         PrintWriter out=response.getWriter();
         System.out.println(json);
         out.print(json);
         out.flush();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }*/
     //4.struts1.2+JQuery+Json传递User参数
    
     /*User user1=new User();
     user1.setPassword(1);
     String username = "你好";
     user1.setUsername(username);
     //user1.setUsername(new String(username.getBytes("utf-8"), "iso8859-1"));
     JSONObject json=JSONObject.fromObject(user1);
     try {
         PrintWriter out=response.getWriter();
         System.out.println(json);
         out.print(json);
    
         out.flush();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }*/
     //5.struts1.2+JQuery+Json传递list参数,此时list的类型为String
     List<User> list=new ArrayList<User>();
    
     User user1=new User();
     user1.setPassword(1);
     user1.setUsername("u1");
     User user2=new User();
     user2.setPassword(2);
     user2.setUsername("u2");
     User user3=new User();
     user3.setPassword(3);
     user3.setUsername("u3");
    
     list.add(user1);
     list.add(user2);
     list.add(user3);
     JSONArray json=JSONArray.fromObject(list);
     try {
         PrintWriter out=response.getWriter();
         System.out.println(json);
         out.print(json);
    
         out.flush();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }
     return null;
    

    }

}

  struts-config.xml如下:

[c-sharp] view plaincopy

   index.jsp如下:

[java] view plaincopy
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"😕/"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<title>struts+jquery+json</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="/MyStrutsJQueryJson/js/jquery-1.4.2.js"></script>
<script type="text/javascript">
/*1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
    $(function(){
        $("#submitbutton").click(function(){
        var params={testvalue:$('#test').val()};
            $.ajax({
                    url:"test.do",
                    data:params,
                    type:'post',
                    dataType:'json',
                    success:function(data){
                    //data值:["string1","string2","string3"]
                            alert("成功");
                            alert(data.length);
                            for(var j=0;j<data.length;j++)
                                {
                                    alert(data[j]);
                                }
                        },
                    error:  function(){
                            alert("失败");
                        }
            })
        })
    })*/
//2.struts1.2+JQuery+Json传递Map参数
    /*$(function(){
        $("#submitbutton").click(function(){
        alert("start");
        var params={testvalue:$('#test').val()};
            $.ajax({
                    url:"test.do",
                    data:params,
                    type:'post',
                    dataType:'json',
                    success:function(data){
                            //alert(data.name1);//缺点是须知道属性名,在JSONArray下
                            //迭代循环输出
                            //data值为:[{"name3":"string3","name1":"string1","name2":"string2"}]
                                $.each(data[0],function(key,value){
                                    alert(key+"  "+value);
                                })
                        },
                    error:  function(){
                            alert("失败");
                        }
            })
        })
    })*/
//3.struts1.2+JQuery+Json传递String参数
/*
$(function(){
    $("#submitbutton").click(function(){
        var params={testvalue:$('#test').val()};
            alert("start");
            $.ajax({
                    url:"test.do",
                    data:params,
                    type:'post',
                    dataType:'json',
                    success:function(data){
                            alert("成功");
                            alert(data.name);
                        },
                    error:  function(){
                            alert("失败");
                        }
            })
        })
})*/
//4.struts1.2+JQuery+Json传递User参数
    /*$(function(){
        $("#submitbutton").click(function(){
        var params={testvalue:$('#test').val()};
            $.ajax({
                    url:"test.do",
                    data:params,
                    type:'post',
                    dataType:'json',
                    success:function(data){
                    //data值为:{"password":1,"username":"你好"}
                            alert("成功");
                            alert(data.username);
                            alert(data.password);
                        },
                    error:  function(){
                            alert("失败");
                        }
            })
        })
    })*/
//5.struts1.2+JQuery+Json传递list参数,此时list的类型为User
    $(function(){
        $("#submitbutton").click(function(){
        var params={testvalue:$('#test').val()};
            $.ajax({
                    url:"test.do",
                    data:params,
                    type:'post',
                    dataType:'json',
                    success:function(data){
                            alert("成功");
                            //data值:[{"password":1,"username":"u1"},{"password":2,"username":"u2"},{"password":3,"username":"u3"}]
                            /*for(var j=0;j<data.length;j++)
                                {
                                    alert(data[j].username);
                                    alert(data[j].password);
                                }*/
                                $.each(data,function(i){
                                    $.each(data[i],function(key,value){
                                        alert(key+" "+value);
                                    })
                                })
                        },
                    error:  function(){
                            alert("失败");
                        }
            })
        })
    })
</script>
</head> 测试输入框:
posted @ 2016-12-21 19:47  乱笙歌  阅读(302)  评论(0编辑  收藏  举报