1.struts的应用jar包(最简)、dom4j包
2.前台页面:ajax/ajaxSelected.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script type="text/javascript" src="../js/jquery-1.8.0.min.js"></script> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> $(document).ready(function() { $("#ajaxButton").bind("click",function() { $.post("ajaxAction.action", { username:$("select[name=username]").val() },function(returnedData,status) { // alert(returnedData); var idvalue = $(returnedData).find("id").text(); var namevalue = $(returnedData).find("username").text(); var agevalue = $(returnedData).find("age").text(); var addressvalue = $(returnedData).find("address").text(); //alert(39); var html = "<table border='1'><tr><th>id</th><th>name</th><th>age</th><th>address</th></tr><tr><td>"+idvalue+"</td><td>"+namevalue+"</td><td>"+agevalue+"</td><td>"+addressvalue+"</td></table>"; $("body table:eq(0)").remove(); // alert(43); $("body").append(html); }); }); }); </script> </head> <body> <select name="username"> <option value="zhangsan">zhangsan</option> <option value="lisi">lisi</option> </select> <input type="button" value="getINFo" id="ajaxButton"> </body> </html> struts.xml <package name="ajax" extends="struts-default" namespace="/ajax" > <action name="ajaxAction" class="com.lizp.action.AjaxAction"> </action> </package>
Action package com.lizp.action; import java.io.PrintWriter; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import com.lizp.bean.Person; import com.opensymphony.xwork2.ActionSupport; public class AjaxAction extends ActionSupport { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Override public String execute() throws Exception { // System.out.println("this.username:"+this.username); Person person = new Person(); if("zhangsan".equals(this.username)) { person.setId(1); person.setUsername("zhangsan"); person.setAge(25); //person.setBirthday(new Date("2012-12-01")); }else { person.setId(2); person.setUsername("lis"); person.setAge(26); //person.setBirthday(new Date("2012-12-02")); } //返回一个xml的信息 Document document = DocumentHelper.createDocument(); Element message = document.addElement("message"); document.setRootElement(message); message.addComment("This is a Comment!"); Element idElement = message.addElement("id"); idElement.setText(person.getId()+""); Element usernamElement = message.addElement("username"); usernamElement.setText(person.getUsername()); Element ageElement = message.addElement("age"); ageElement.setText(person.getAge()+""); Element birthdayElement = message.addElement("birthday"); birthdayElement.setText(person.getBirthday()+""); // System.out.println("document:"+document); //拿到HttpServletResponser对象 HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/xml;charset=utf-8"); response.setHeader("Cache-control","no-cache"); response.setHeader("pragma","no-cache"); //拿到一个输出的对象 PrintWriter out = response.getWriter(); //格式化输出 OutputFormat oFormat = new OutputFormat(); oFormat.setEncoding("utf-8"); XMLWriter xmlWriter = new XMLWriter(out,oFormat); xmlWriter.write(document); out.flush(); out.close(); //必须返回值,此处返回个无意义的null return null ; } }