1 $(document).ready(function() { 2 $("#submit").click(function() { 3 if($("#stuId").val() == "" && $("#stuName").val() =="" && $("#stuSex").val() ==""){ 4 alert("至少填写一项."); 5 return; 6 } 7 var student = { 8 "student.id" : $("#stuId").val(), 9 "student.name" : $("#stuName").val(), 10 "student.sex" : $("#stuSex").val() 11 }; 12 $.ajax({ 13 type : "post", 14 url : "student.action", 15 data : student, 16 datatype : "json", 17 success : function(data, textStatus) { 18 $(":input:not(:button)").val("");//清空除了button以外的所有input的value(包括select) 19 var jsonObj = eval("(" + data + ")"); 20 if(jsonObj!=false){ 21 $("#tab").empty();//tab为空 22 $("#tab").attr("border","1");//添加一个属性 23 var tar ="<tr><td>ID</td><td>姓名</td><td>性别</td></tr>"; 24 $.each(jsonObj, function(i, vo) { 25 var sex = vo.sex== 1 ? '男' : '女'; 26 tar += "<tr><td>" + vo.id + "</td><td>" + vo.name + "</td><td>" + sex + "</td></tr>"; 27 }); 28 $("#tab").append(tar); 29 return; 30 } 31 alert("搜索结果为空"); 32 }, 33 }); 34 }); 35 });
iBatis的sqlmap.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap> <typeAlias alias="Student" type="com.model.Student" /> <select id="selectAll" resultClass="Student"> select * from my_student </select> <select id="select" parameterClass="Student" resultClass="Student"> select stu.id as "id", stu.name as "name", stu.sex as "sex" from my_student stu <dynamic prepend="where"> <isNotEmpty prepend="and" property="id"> stu.id = #id# </isNotEmpty> <isNotEmpty prepend="and" property="name"> stu.name like '%$name$%' </isNotEmpty> <isNotEmpty prepend="and" property="sex"> stu.sex = #sex# </isNotEmpty> </dynamic> </select> </sqlMap>
Action:
1 package com.action; 2 3 import java.io.PrintWriter; 4 import java.util.List; 5 import javax.servlet.http.HttpServletResponse; 6 import org.apache.struts2.ServletActionContext; 7 import com.dao.StudentDAO; 8 import com.dao.impl.StudentDAOImpl; 9 import com.model.Student; 10 import net.sf.json.JSONArray; 11 12 public class StudentAction{ 13 private StudentDAO studentDAO = new StudentDAOImpl(); 14 private Student student; 15 16 public String execute() throws Exception{ 17 HttpServletResponse res = ServletActionContext.getResponse(); 18 res.setCharacterEncoding("utf-8"); 19 PrintWriter out = res.getWriter(); 20 List<Student> list = studentDAO.query(student); 21 if(list.size()>0){ 22 out.print(JSONArray.fromObject(list)); 23 }else{ 24 out.print(false); 25 } 26 out.flush(); 27 out.close(); 28 return null; 29 } 30 31 public Student getStudent() { 32 return student; 33 } 34 35 public void setStudent(Student student) { 36 this.student = student; 37 } 38 39 }