1,页面jsp
<div class="middle"> <h2>货运状态</h2> <div class="search"> <label id="">托运编号:</label> <input type="text" name="searchgoodsid"/> </div> <div> <table > <thead> <tr> <th>托运编号</th> <th>物品名称</th> <th>托运终点</th> <th>托运路线</th> <th>托运车次</th> <th>当前状态</th> <th>备注</th> </tr> </thead> <tbody> </tbody> <tfoot> <tr> <td colspan="10"></td> </tr> </tfoot> </table> </div> </div>2,jquery+ajax<script type="text/javascript"> $(function(){ init(); $("input[name='searchgoodsid']").keyup(function(e){ if($(this).val()!=null && $.trim($(this).val())!=""){ var orderid = $.trim($(this).val()).toString(); if(getCharAt("'",orderid) != -1){ orderid = orderid.replace(/'/, "''");//这个地方我把单引号(')转换成('')是因为单引号在数据库查询中如果会出现冲突 } $.ajax({ url:"gettransportstate.do", type:"POST", data:{orderformid : orderid}, dataType:"html", beforeSend: function(){ $("tbody tr.matter").remove(); $(this).attr("value", "\u67e5询中..."); }, complete:function(){ $(this).attr("value", "\u786e定"); }, success:function(data){ if(data==null || data==""){ $(".matter").hide(); alert("\u8f93入编号无法查询!"); }else{ var reg = new RegExp(orderid, "ig");//正则表达式中/i是忽略大小写,/g是全文匹配。 data = data.toString().replace(reg, "<span style='COLOR:#00F;font-weight:bold'>"+orderid.toUpperCase()+"</span>");//高亮上色 $("tbody").html(data); $(".matter").show(); } }, error:function(){ $(".matter").hide(); alert("\u8f93入编号无法查询!!"); } }); }else{ init(); } }) function init(){//初始化表格数据 var htmlData = "<c:forEach var='transportstate' items='${transportstate}'>"; htmlData += "<tr class='element'><td id='orderformid'>${transportstate.orderformid}</td>"; htmlData += "<td id='goodsname'>${transportstate.goods.goodsname}</td>"; htmlData += "<td id='receiveraddress'>${transportstate.receiveraddress}</td>"; htmlData += "<td id='path'>${transportstate.path.description}</td>"; htmlData += "<td id='trainnumber'>0</td>"; htmlData += "<td id='time'>${transportstate.goods.nowstate.nowstatename}</td>"; htmlData += "<td id='description'>0</td>"; htmlData += "</tr></c:forEach>"; $("tbody").html(htmlData); } function getCharAt(val,str){//获取数组中对应数字的索引 for (var i = 0; i < str.length; i++) { if (val == str.charAt(i)) return i; } return -1; }; }) </script>3,后台数据返回public ActionForward getOneTransportStateListAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { String orderformid = request.getParameter("orderformid"); String hqlStr = "from " + Orderform.class.getName() + " entity where entity.orderformid like '%" + orderformid + "%'"; List orderforms = ofdi.getObjectsByCreateQuery(hqlStr); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); if (orderforms != null && orderforms.size() > 0) { for (int i = 0; i < orderforms.size(); i++) { Orderform of = (Orderform) orderforms.get(i); String outputHtml = "<tr class='element'>"; outputHtml += "<td id='orderformid'>" + of.getOrderformid() + "</td>"; outputHtml += "<td id='goodsname'>" + of.getGoods().getGoodsname() + "</td>"; outputHtml += "<td id='receiveraddress'>" + of.getReceiveraddress() + "</td>"; outputHtml += "<td id='path'>" + of.getPath().getDescription() + "</td>"; outputHtml += "<td id='trainnumber'>" + 1 + "</td>"; outputHtml += "<td id='time'>" + of.getTime() + "</td>"; outputHtml += "<td id='description'>" + of.getDescription() + "</td>"; out.println(outputHtml); } } else { out.println(); } request.setAttribute("transportstate", orderforms); return null; } catch (Exception ex) { ex.printStackTrace(); return mapping.getInputForward(); } }4,struts配置文件struts-config.xml<!--货运状态action开始--> <!--①货运状态列表显示action--> <action path="/transportstate" type="cn.osunda.logistics.action.transportstate.TransportStateAction" parameter="getTransportStateListAction" input="/stationmanager/index.jsp"> <forward name="transportstate" path="/transportstate/transportstate.jsp"></forward> </action> <!--②货运状态查询action--> <action path="/gettransportstate" type="cn.osunda.logistics.action.transportstate.TransportStateAction" parameter="getOneTransportStateListAction" scope="request"> </action> <!--货运状态action结束-->5,页面效果图