action:public class ProductAction extends ActionSupport implements ModelDriven<Product> {private Product product=new Product();private ProductService productService;public void setProductService(ProductService productService) {this.productService = productService;}public String find() throws Exception{List<Product> list= productService.findProduct(product);if (list.size()>0) {ActionContext.getContext().put("productList", list);HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding("UTF-8");PrintWriter out=response.getWriter();out.print(list);//本人感觉这里有问题啊,好多人说用json,但不懂啊return SUCCESS;}return "error";}public Product getModel() {return product;}}jQeury:$(function(){$("#btn").click(function(){$.ajax({type:"post",url:"productAction!find.action",data:'{"productName":"'+$("#productName").val()+'"}',datatype:"json",contentType:'json',success:function(data){alert(data);}});});页面:项目名称:<input type="text" name="productName" id="productName" /><input id="btn" type="button" value="查询"><div id="data"><table><tr><td>项目编号</td><td>项目名称</td></tr><s:iterator value="productList" id="pp">//<tr><td>${id }</td><td>${productName }</td></tr></s:iterator></table></div>得到值是页面的源代码
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
建议你再加一句,out.setContentType(“text/html”);说明返回的是页面内容
PrintWriter out=response.getWriter(); 这行代码后边加out.setContentType(“text/html”); out.print()执行之后加out.flush()进行优化写入,out.close()关闭资源
添加回答
举报
0/150
提交
取消
