- 浏览: 228662 次
- 性别:
- 来自: 海南海口
文章分类
- 全部博客 (114)
- java基础 (25)
- 设计模式 (6)
- css (1)
- js (2)
- jquery (5)
- flash as3.0 (3)
- lucene (2)
- tomcat (3)
- uml (0)
- struts2 (7)
- spring (0)
- sql (1)
- ejb3.0 (2)
- jbpm4 (1)
- webservices (1)
- linux (3)
- ajax (1)
- 面试 (1)
- flex (0)
- soa (0)
- oracle解锁 (5)
- 工具 (3)
- ext (3)
- 好的网址 (1)
- junit (2)
- jmx (2)
- encache (1)
- redis (1)
- 网站 (1)
- oracle重要的sql (1)
- web (3)
- hadoop (2)
- DB2 (1)
- ui (1)
- sybase (1)
- ue使用快捷键 (1)
- eclipse优化 (1)
- 前端优化用到的插件 (1)
- zookeeper (1)
- solr (1)
- hibernate (1)
- svn (1)
- resion (1)
- resin (1)
- maven (1)
- mysql (1)
- url (1)
- 通过HttpFileServer设置共享 可以通过http方式访问 (1)
- 非技术 (2)
- 营销 (1)
- ELK (3)
最新评论
-
it_xiaowu:
jqwerty_123 写道我的出同样的问题却是因为引入cxf ...
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Ma -
繁星水:
实验证明可用,最后补充一下,可以不需要 set Package ...
axis根据wsdl生成java客户端代码 -
qq_16699317:
qq_16699317 写道求一份源代码,感激不尽。。。多谢了 ...
java博客系统 -
qq_16699317:
求一份源代码,感激不尽。。。多谢了
java博客系统 -
jqwerty_123:
我的出同样的问题却是因为引入cxf的时候jcl-over-sl ...
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Ma
jsp页面:
由于返回的list不仅包含对象 我还想返回一些字符串 所以就写一个继承类来实现!
返回前台jquery 处理!
<input type="hidden" id="currentPage2" value="1"> <br/><br/><div></div> <DIV id=in_send> <div align="left" style="padding-left:40px; font-weight:blod; margin-top:10px;" >发表评论:</div> <table width="720" border="0" cellspacing="5" cellpadding="0"><tr> <td align="left">姓 名:</td> <td align="left"><input type="text" name="picCriticismName" id="picCriticismName" style="width:220px" maxlength="49" tabindex=1> <div id="nmerror" style="float:left;" >*姓名最长为50字节</div></td></tr> <tr><td align="left" valign="top" class="f14" id="reTitle">内 容:</td> <td align="left" ><textarea name="picCriticismContent" id="picCriticismContent" style="width:520px;height:155px" tabindex=4></textarea> </td></tr> <tr id="3_err" style="display:none"><td> </td><td><div class="error" id="3_err_con"></div></td></tr> <tr><td valign="top"> </td> <td valign="top" align="left" > <input type="button" onclick="good()" value="发表评论" > </td> </tr></table> </DIV> </DIV>
xml配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <!-- 作者:ljz 时间:2010/09/15 --> <struts> <package name="piccriticism" extends ="json-default"> <action name="addPicCriticism" class="PicCriticismBean" method="addPicCriticism"> <result name="success" type="json"> <param name="includeProperties"> list5\[\d+\]\.criticismContent,list5\[\d+\]\.criticismName,list5\[\d+\]\.criticismIp,list5\[\d+\]\.criticismTime,list5\[\d+\]\.totalPage,list5\[\d+\]\.currentPage </param> </result> </action> </package> </struts>
package cn.ljzblog.ljz.action; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import test.SuperPicCriticims; import cn.ljzblog.ljz.common.CalculatePage; import cn.ljzblog.ljz.common.Page; import cn.ljzblog.ljz.model.PicCriticism; import cn.ljzblog.ljz.model.PicCriticismTemp; import cn.ljzblog.ljz.service.PicCriticismServices; import cn.ljzblog.ljz.util.ActionContextUtil; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; /** * 相片评论 * @author ljz * @time 2010/10/03 */ public class PicCriticismAction extends ActionSupport implements ModelDriven<PicCriticismTemp>{ private PicCriticismTemp pt = new PicCriticismTemp(); private SuperPicCriticims sc = new SuperPicCriticims(); private ActionContextUtil acu = new ActionContextUtil(); private PicCriticism pc = new PicCriticism(); private String pictureDetail; private String picCriticismName; private String currentPage2 = "1"; private Page page = new Page(); private String firstOrLast = new String();//判断是否是首页或者是尾页 private CalculatePage cal = new CalculatePage(); private PicCriticismServices picCriticismServices; private int currentPage = 1; private List<PicCriticismTemp> list5 ; private String picCriticismId; public String addPicCriticism(){ System.out.println("进入评论先相片action"); System.out.println(this.getFirstOrLast()); System.out.println(pt.getPicName()+"相片名称"); page.setPageSize(5); //String sql = "select t.pic_criticism_content,t.piccriticismip,t.piccriticismtime,t.piccriticismname from t_pic_criticism t inner join t_picture pic on t.picture_id = pic.picture_id where pic.picture_name = '"+pt.getPicName()+"' order by t.pic_criticism_id desc"; String sql = "select t.pic_criticism_content,t.piccriticismip,t.piccriticismtime,t.piccriticismname from t_pic_criticism t inner join t_picture pic on t.picture_id = pic.picture_id where pic.picture_name = '"+pt.getPicName()+"' order by t.pic_criticism_id desc"; List<PicCriticismTemp> list4 = picCriticismServices.queryPicCriticismLength(sql); System.out.println("list4大小:"+list4.size()); page.setTotalResultNumbers(list4.size()); page.setTotalPage(cal.getTotalPage(page.getTotalResultNumbers(), page.getPageSize())); if(this.getFirstOrLast().equals("first")){ System.out.println("进入first"); currentPage = 1; }else if(this.getFirstOrLast().equals("last")){ //currentPage = page.getTotalPage(); currentPage = cal.getTotalPage(list4.size(), page.getPageSize()); System.out.println("last页尾:"+currentPage); }else if(this.getFirstOrLast().equals("next")){ currentPage = cal.nextPage(Integer.parseInt(this.getCurrentPage2()), cal.getTotalPage(list4.size(), page.getPageSize())); System.out.println("next页尾:"+currentPage); }else if(this.getFirstOrLast().equals("pre")){ currentPage = cal.previousPage(Integer.parseInt(this.getCurrentPage2())); System.out.println("pre页尾:"+currentPage); }else{ System.out.println("进入其他"); Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); pc.setPicCriticismContent(pt.getCriticismContent()); //System.out.println(pt.getCriticismIp()); pc.setPicCriticismIp(acu.getIpAddr(acu.getRequest())); System.out.println(acu.getIpAddr(acu.getRequest())+"ip是"); pc.setPicCriticismName(this.getPicCriticismName()); pc.setPicCriticismTime(formatter.format(currentTime)); pc.setPictureId(Integer.parseInt(this.getPicCriticismId())); System.out.println("评论内容:"+pt.getCriticismContent()); //System.out.println("评论者ip:"+this.getIpContent.split(";")[1]); System.out.println("评论ip:"+pt.getCriticismIp()); System.out.println("评论者昵称:"+this.getPicCriticismName()); System.out.println("评论相片ID:"+this.getPicCriticismId()); picCriticismServices.addPicCriticism(pc) ; currentPage = Integer.parseInt(this.getCurrentPage2()); System.out.println("添加成功"); } page.setCurrentPage(Integer.parseInt(this.getCurrentPage2())); System.out.println("当前是 :"+currentPage+":this:"+page.getCurrentPage()); page.setBeginIndex(cal.pageToRow(this.getCurrentPage(), page.getPageSize())); page.setEndIndex(cal.calLastIndex(this.getCurrentPage(), page.getPageSize())); System.out.println(page.getTotalResultNumbers()+"-------------"); //String sql = "from Criticism as criti where criti.articleId = ? order by criti.criticismId desc "; System.out.println(":begin"+page.getBeginIndex()+":endindex"+page.getEndIndex()); list5 = picCriticismServices.queryPicCriticism(sql, cal.pageToRow(this.getCurrentPage(), page.getPageSize()), cal.calLastIndex(this.getCurrentPage(), page.getPageSize())); sc.setCurrentPage(this.getCurrentPage()); sc.setTotalPage(cal.getTotalPage(list4.size(), page.getPageSize())); System.out.println("总共"+cal.getTotalPage(list4.size(), page.getPageSize())); //sc.setPictureName(pt.getPicName()); // sc.setPicDetail(this.getPictureDetail()); list5.add(sc); System.out.println(list5.size()+"list5.size"); for(PicCriticismTemp pt :list5){ System.out.println(pt.getCriticismContent()+":"+pt.getCriticismIp()+":"+pt.getCriticismName()+":"+pt.getCriticismTime()+":"); } return "success"; } @Override public PicCriticismTemp getModel() { return pt; } public PicCriticismTemp getPt() { return pt; } public void setPt(PicCriticismTemp pt) { this.pt = pt; } public String getCurrentPage2() { return currentPage2; } public void setCurrentPage2(String currentPage2) { this.currentPage2 = currentPage2; } public Page getPage() { return page; } public void setPage(Page page) { this.page = page; } public String getFirstOrLast() { return firstOrLast; } public void setFirstOrLast(String firstOrLast) { this.firstOrLast = firstOrLast; } public CalculatePage getCal() { return cal; } public void setCal(CalculatePage cal) { this.cal = cal; } public PicCriticismServices getPicCriticismServices() { return picCriticismServices; } public void setPicCriticismServices(PicCriticismServices picCriticismServices) { this.picCriticismServices = picCriticismServices; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public SuperPicCriticims getSc() { return sc; } public void setSc(SuperPicCriticims sc) { this.sc = sc; } public String getPicCriticismId() { return picCriticismId; } public void setPicCriticismId(String picCriticismId) { this.picCriticismId = picCriticismId; } public PicCriticism getPc() { return pc; } public void setPc(PicCriticism pc) { this.pc = pc; } public String getPicCriticismName() { return picCriticismName; } public void setPicCriticismName(String picCriticismName) { this.picCriticismName = picCriticismName; } public List<PicCriticismTemp> getList5() { return list5; } public void setList5(List<PicCriticismTemp> list5) { this.list5 = list5; } public String getPictureDetail() { return pictureDetail; } public void setPictureDetail(String pictureDetail) { this.pictureDetail = pictureDetail; } }
由于返回的list不仅包含对象 我还想返回一些字符串 所以就写一个继承类来实现!
package test; import cn.ljzblog.ljz.model.Criticism; import cn.ljzblog.ljz.model.PicCriticismTemp; public class SuperPicCriticims extends PicCriticismTemp { private int totalPage; private int currentPage; private String picLoginTime; private String picDetail; private String pictureName; public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public String getPicLoginTime() { return picLoginTime; } public void setPicLoginTime(String picLoginTime) { this.picLoginTime = picLoginTime; } public String getPicDetail() { return picDetail; } public void setPicDetail(String picDetail) { this.picDetail = picDetail; } public String getPictureName() { return pictureName; } public void setPictureName(String pictureName) { this.pictureName = pictureName; } }
返回前台jquery 处理!
var firstOrLast='none'; var params; function go() { validate('next') } function end() { validate('last'); } function first() { validate('first'); } function gg() { validate('pre') } var validate = function(flag) { if(flag=='none'){ //alert(flag+"证明可以啊"); params ={ CriticismIp:$("#picCriticismIp").val(), CriticismContent:$("#picCriticismContent").val(), firstOrLast:flag, picName:$("#currentPicName").val(), picCriticismId:$("#picCriticismId").val(), picCriticismName:$("#picCriticismName").val(), currentPage2:$("#currentPage2").val() } }else{ params ={ picCriticismId:$("#picCriticismId").val(), picName:$("#currentPicName").val(), firstOrLast:flag, currentPage2:$("#currentPage2").val() } } if(flag=='query'){ firstOrLast='first'; }else if(flag=='first'){ firstOrLast = 'first'; }else if(flag == 'pre'){ firstOrLast ='pre'; }else if(flag == 'next'){ firstOrLast ='next'; }else if(flag == 'last'){ firstOrLast ='last'; }else if(flag == 'none'){ firstOrLast ='none'; if(params.picCriticismName==""){ alert("昵称不能为空"); return ; }else if(params.CriticismContent==""){ alert("评论内容不能为空"); return ; } } var url='addPicCriticism.action'; $.ajax({ url:url, type:'post', dataType:'json', data:params, success:function(data){ var index = 0; var tar = "<TABLE style=\"BORDER-COLLAPSE: collapse\" border=\"0\" cellSpacing=\"0\"><TBODY>"; tar+="<tr><td align=\"left\" colspan=\"2\">网友评论:</td></tr>"; $.each(data.list5,function(i,value){ index = i; tar+="<tr id=0"+i+"><td align=\"left\">"+(i+1)+" "+value.criticismName+"说: "+value.criticismContent+"</td></tr>"; tar+="<tr id=1"+i+"><td align=\"left\">ip:"+value.criticismIp+"</td>  <td align=\"left\"> 时间 :"+value.criticismTime+"</td></tr>"; }) tar+="<tr><td colspan=\"2\"> <table align=\"left\" width=\"100%\" id=\"table1\" style=\"display:none\">"; tar +="<tr><td align=\"left\"><a href=\"javascript:void(0)\"><font id=\"totalpage\" color=blue></font></a></td>"; tar+=" <td align=\"left\"><a href=\"javascript:void(0)\"><font id=\"currentpage\" color=blue></font><font id=\"totalpage2\" color=blue></font></a>"; tar+="</td><td><a onclick=\"first()\" style=\"cursor: hand\"><font color=blue>首页</font></a></td>"; tar+="<td><a onclick=\"gg()\" style=\"cursor: hand\"><font color=blue>上一页</font></a></td><td>"; tar+="<a onclick=\"go()\" style=\"cursor: hand\"><font color=blue>下一页</font></a></td><td>"; tar+="<a onclick=\"end()\" style=\"cursor: hand\"><font color=blue>尾页</font></a></td></tr>"; tar+="</table></tr>"; tar+="</TBODY></TABLE>"; $('#result').html(tar); var totalpage = data.list5[index].totalPage; var currentpage = data.list5[index].currentPage; $('#totalpage').html("总共"+totalpage+"页"); $('#currentpage').html("当前"+currentpage+"/"); $('#totalpage2').html(totalpage+"页"); $("#currentPage2").val(currentpage); $('#0'+index).hide(); $('#1'+index).hide(); if(index==0){ $("#table1").hide(); var nocontent = "<span align=\"left\" ><font color=\"red\">沙发空缺中,请您快----------</font></span>"; $('#result').html(nocontent); }else{ $("#table1").show(); } } }); }
发表评论
-
struts2经常报找到input的配置路径错误
2012-03-12 11:44 0实现这几个方法就ok @Override public v ... -
博客系统sql
2010-10-21 17:03 1533博客系统表脚本! -
s2sh3大框架整合练习
2010-10-20 16:27 2006由于有几个朋友要求我给他们写一个3大框架整合的demo让他们参 ... -
博客系统数据库dmp文件
2010-10-20 11:30 2972这是博客系统的数据库dmp文件 大家直接导入就ok了 -
java博客系统源代码
2010-10-18 23:40 5197java博客系统源代码,一个是源代码,其他两个是jar包,把所 ... -
java博客系统
2010-10-18 23:08 5726小弟马上就要毕业了, ... -
struts2遍历3列n行
2010-09-29 09:23 1664这篇文章装载来自 http://haidao.blog.51c ... -
<s:if>简单使用
2010-09-18 16:52 6743一、<s:if test=" ...
相关推荐
### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...
### Struts2+JSON 实现 AJAX 返回对象和列表 #### 一、背景介绍 随着Web技术的发展,Ajax(Asynchronous JavaScript and XML)已经成为现代Web应用不可或缺的一部分。它通过后台与前端进行异步数据交换和操作,使...
Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...
以上就是使用Struts2和jQuery实现Ajax请求并返回JSON数据的基本流程。通过这种方式,我们可以在不刷新整个页面的情况下,实现数据的异步加载和动态更新,提高用户体验。在实际项目中,可能还需要考虑错误处理、数据...
Struts2JQueryJson是一个基于Struts2框架的项目,主要展示了如何在前端使用JQuery库来处理由后台返回的JSON格式数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便...
总结来说,通过这种方式,我们可以利用AJAX向Struts2 Action传递JSON数组,实现异步数据交互。这在动态更新页面内容、处理表单提交等场景下非常有用。同时,使用JSON作为数据交换格式,使得前后端的数据交换变得更加...
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
Struts2、JSON和jQuery是Web开发中常用的三个技术,它们在构建动态、交互式的Web应用程序时发挥着关键作用。这个例子将展示如何整合这三个工具,实现前后端的数据交换。 首先,Struts2是一个强大的MVC(Model-View-...
本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
客户端通常使用JavaScript或Ajax来处理JSON响应,例如使用jQuery的`$.ajax`或`fetch` API。可以解析JSON数据并动态更新页面内容。 9. **最佳实践**: - 尽量减少在JSON中传递的数据量,避免不必要的性能开销。 -...
在Struts2中结合JSON,我们可以将服务器端处理的结果以JSON格式返回给客户端,从而实现Ajax的无刷新更新。 首先,要在Struts2中启用JSON支持,我们需要在`struts.xml`配置文件中添加相关的拦截器栈。这通常可以通过...
总的来说,Struts2的JSON插件大大简化了基于JSON的Web服务开发,使得Java开发者能够轻松地在Struts2框架内处理JSON数据,实现了前后端的高效通信。了解并熟练掌握这一插件的使用,对于提升Java Web应用的开发效率和...
Struts2提供了`struts2-jquery-plugin`和`struts2-json-plugin`两个插件来实现Ajax功能。在这个实例中,我们将主要使用`struts2-json-plugin`,它能够方便地将Action的结果以JSON格式返回给客户端。 1. **环境配置*...
在Web开发领域,Struts2、JSON、Gson、jQuery和Ajax是几个非常重要的技术,它们各自扮演着不同的角色,但又能够很好地协同工作来构建高效、交互性强的Web应用程序。本文将对这些技术进行简要介绍,并通过一个示例来...
Struts2、jQuery、JSON和List是Web开发中常见的技术栈,它们在构建动态、交互式的Web应用程序中扮演着重要角色。这篇博文可能是探讨如何在Struts2框架中结合jQuery和JSON来处理List类型的数据。 Struts2是一个流行...
例如,你可以使用JQUERY的`$.getJSON()`函数来获取Struts2 Action返回的JSON数据: ```javascript $.getJSON('myAction.action', function(data) { // data是服务器返回的JSON对象 $.each(data.list, function...
在本场景中,我们将探讨如何在Struts2中返回JSON数据,并在页面上使用jQuery库的`$.ajax`或`$.getJSON`方法来接收和处理这些数据。 首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一...
### 基于JQuery、Ajax与JSON实现分页显示技术解析 #### 技术背景与应用场景 在现代Web开发中,数据展示是一项至关重要的功能。随着数据量的增长,简单的列表展示方式已不能满足用户体验的需求。为了提升用户体验,...
以下将详细介绍如何在Struts2中实现返回JSON对象。 首先,确保项目中引入了必要的依赖库。在提供的描述中提到了7个核心的JSON相关的JAR包,它们分别是: 1. struts2-json-plugin-2.1.8.1.jar - Struts2 JSON插件,...