- 浏览: 227165 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (209)
- database (25)
- java技巧 (25)
- TC总结 (4)
- J2EE (8)
- 算法 (6)
- blog (4)
- php (4)
- linux & mac (19)
- 其它技术 (4)
- javascript&ajax (26)
- 测试技术 (8)
- XML&HTML (2)
- ORM (hibernate ...) (11)
- eclipse (5)
- 技术书籍 (8)
- 项目管理,cmmi (3)
- 硬件技术 (1)
- REST, web service, web架构 (1)
- 卓有成效程序员 (2)
- qone开发 (1)
- Design (4)
- .net (5)
- SCM (4)
- css (23)
- programming languages (1)
- ide (2)
- CSS Patterns (18)
- security (1)
- android (5)
最新评论
-
Virtoway:
说到Angular JS刚读到一片美国构架师的文章关于使用An ...
angular js: angular.bind example -
08284008:
该毛线啊,一点解释的都没有,怎么看
Thread join() 用法 -
Rex86lxw:
在eclipse中我一直用Navigator查看编写代码的,可 ...
eclipse不能自动编译,不报错 -
mistake:
..............
Angular js scope: the child scope would inherit from the parent scope -
sparrow1314:
very good! thanks!
IE下JS调试工具
http://www.it-eye.nl/weblog/2005/12/13/ajax-in-struts-implementing-dependend-select-boxes/
script
script: <script language="javascript"> var req; /* * Get the second options by calling a Struts action */ function retrieveProjectOptions(){ firstBox = document.getElementById('firstBox'); //Nothing selected if(firstBox.selectedIndex==0){ return; } selectedOption = firstBox.options[firstBox.selectedIndex].value; //get the (form based) params to push up as part of the get request url="retrieveProjectOptionsAjaxAction.do?selectedOption="+selectedOption; //Do the Ajax call if (window.XMLHttpRequest){ // Non-IE browsers req = new XMLHttpRequest(); //A call-back function is define so the browser knows which function to call after the server gives a reponse back req.onreadystatechange = populateSecondBox; try { req.open("GET", url, true); //was get } catch (e) { alert("can not connect to server"); } req.send(null); } else if (window.ActiveXObject) { // IE req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = populateSecondBox; req.open("GET", url, true); req.send(); } } } //Callback function function populateSecondBox(){ document.getElementById('secondBox').options.length = 0; if (req.readyState == 4) { // Complete if (req.status == 200) { // OK response textToSplit = req.responseText; if(textToSplit == '803'){ alert("No select option available on the server"); } //Split the document returnElements=textToSplit.split("||"); //Process each of the elements for(var i=0;i<returnElements.length;i++){ valueLabelPair = returnElements[i].split("|"); document.getElementById('secondBox').options[i] = new Option(valueLabelPair[1], valueLabelPair[0]); } } else { alert("Bad response by the server"); } } } </script>
form
<html:form action="/addModule"> 小组 : <html:select property="group" onchange="retrieveProjectOptions()" styleId="firstBox" styleClass="mandatory"> <html:option value="-1">请选择</html:option> <html:options collection="groups" labelProperty="groupName" property="groupId" /> </html:select> <html:errors property="group" /> <br /> 所属项目 : <html:select property="project" styleId="secondBox" styleClass="mandatory"> <html:option value="nothing">-First choose above-</html:option> </html:select> <html:errors property="project" /> <br /> 模块名 : <html:text property="moduleName" /> <html:errors property="moduleName" /> <br /> 模块描述 : <html:text property="description" /> <html:errors property="description" /> <br /> <html:hidden property="isSubmit" value="true" /> <html:submit value="提交" /> </html:form>
struts config
struts config <action path="/retrieveProjectOptionsAjaxAction" type="com.baidu.platform.project.action.RetrieveProjectOptionsAjaxAction"> </action>
Action
package com.baidu.platform.project.action; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.baidu.platform.entities.ProjectDetail; import com.baidu.platform.service.ProjectService; public class RetrieveProjectOptionsAjaxAction extends Action { /** * This is the main action called from the Struts framework. * * @param mapping * The ActionMapping used to select this instance. * @param form * The optional ActionForm bean for this request. * @param request * The HTTP Request we are processing. * @param response * The HTTP Response we are processing. * @throws javax.servlet.ServletException * @throws java.io.IOException * @return */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String selectedOption = request.getParameter("selectedOption"); PrintWriter out = response.getWriter(); // Check of het soortId wel correct is if ((selectedOption.trim().length() == 0)) { out.print("803"); } else { List<ProjectDetail> options = ProjectService.getProjectsInGroup(Integer.parseInt(selectedOption)); // Make a String representation where each option is seperated by '||' and a value and a label by '|' String outLine = makeOutputString(options); out.print(outLine); System.out.println(outLine); } return null; } private String makeOutputString(List<ProjectDetail> options) { String result = ""; boolean first = true; for (ProjectDetail project : options) { if (!first) { result += "||"; } first = false; result = result + project.getProjectId() + "|" + project.getProjectName(); } return result; } }
发表评论
-
javascript HTML encode
2013-04-22 10:44 630_htmlEncode: function (val ... -
angular 0.9.19 update to 0.10.5
2012-03-05 22:23 510$eval()==>$digest() $upd ... -
Angularjs memory leak in ie8 test
2012-02-02 23:12 1072Attached is the code to show th ... -
JS regular expression examples from <<good parts>>
2012-01-15 21:47 555//parse_url /^(?:([A-Za-z]+ ... -
How to bind a method to an object from angularjs source code
2012-01-14 15:35 660function bind(self, fn) { ... -
javascript: string.format
2012-01-08 18:31 539String.prototype.format = funct ... -
load next page automatically while scrolling to the bottom
2012-01-08 15:39 796$(window).scroll(function ... -
<<javascript the good parts>> variable scope
2012-01-05 22:22 769Javascript does not have block ... -
slice a javascript funtion arguments
2011-12-24 16:08 555[1,2,3].slice(1)//[2, 3] fun ... -
javascript waitfor function
2011-12-12 20:05 1104Javascript has many asynchronou ... -
javascript 'this' , with prototype, closure
2011-12-07 22:13 615just give an example function ... -
<<javascript:the good part>> Inheritance
2011-12-03 15:49 1172Javascript does not have the co ... -
<<javascript:the good part>> prototype, closure, module example
2011-12-03 11:51 782Function.prototype.method=funct ... -
<<javascript:the good part>>javascript variable scope
2011-11-26 22:59 785The scope of variable declared ... -
angular js: filter vs format
2011-11-16 21:13 1136Filter transform the model to t ... -
angular js: angular.bind example
2011-11-16 16:07 2682angular.bind api doc see: http: ... -
Angular js scope: the child scope would inherit from the parent scope
2011-11-15 23:02 950http://docs.angularjs.org/#!/co ... -
How to use the data retrieved from ajax?
2011-11-10 20:59 696Whenever you want to use the da ... -
javascript 'this'
2011-11-09 22:52 6301. Scope of this in objects: ... -
Nested Function, Function Closure
2011-11-09 22:47 621function outerFunc(base) { ...
相关推荐
总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...
在这个"struts2 jqurey ajax简单实例"中,我们将探讨如何将这三个技术结合,以实现一个动态且高效的Web应用。 首先,Struts2中的Action类是业务逻辑的核心。当你在页面上触发一个事件,比如点击一个按钮,这个事件...
总的来说,这个实例展示了如何在传统的Struts2环境中利用AJAX增强用户体验,实现实时的表单验证。对于初学者来说,这是一个很好的起点,可以帮助他们理解前后端交互的工作流程,以及如何在Struts2中处理AJAX请求。
总结一下,基于Struts2的Ajax实例展示了如何利用Struts2框架处理客户端的异步请求。通过整合JavaScript和Struts2,我们可以创建交互性更强、响应速度更快的Web应用程序,同时减少了不必要的页面刷新,提升了用户体验...
7. **示例代码**:在提供的压缩包文件“struts2中实现AJAX的小实例”中,可能包含了一个简单的Struts2 Action、对应的JSP页面以及JavaScript代码。Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX...
标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...
8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必...
Struts 2.0 是一个基于 Model-View-Controller(MVC)架构的Java web框架,而 AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下更新部分网页内容的技术。在这个实例中,我们将深入探讨 ...
通过以上步骤,我们可以实现一个简单的Struts2 Ajax实例,利用Ajax实现页面的动态更新。当然,实际应用中可能会涉及到更复杂的业务逻辑和数据处理,但这个基础框架可以作为一个起点,帮助你理解和掌握Struts2与Ajax...
这个实例项目展示了如何在Struts 2.1框架下,通过AJAX和JSON实现动态交互的Web应用。开发者可以通过这个实例学习如何配置Struts 2的Ajax插件,编写Action以返回JSON数据,以及在客户端使用JavaScript处理这些数据,...
当AJAX请求到达时,Struts2会自动将这个Action实例转换为JSON格式,并返回给客户端。 客户端的JavaScript可以使用XMLHttpRequest或jQuery等库发送AJAX请求,获取JSON数据,然后动态更新页面内容,实现无刷新的交互...
在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下更新部分网页内容的技术,极大地提升了用户体验。这个“Ajax实现helloworld!实例”是针对初学者的一个项目,旨在帮助他们理解...
Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使得网页实现异步更新。这使得网页应用能够更加迅速地响应...
总结来说,这个AjaxStruts2Json实例展示了如何在Struts2框架下利用Ajax进行异步请求,通过JSON传递和处理数据,从而实现网页的局部刷新。实践这个实例,开发者可以更深入地理解Struts2、Ajax以及JSON在实际项目中的...
**Ajax(Asynchronous JavaScript and XML)**:Ajax允许在不刷新整个页面的情况下,与服务器交换数据并局部更新网页内容,从而实现了异步交互。在jQuery中,使用$.ajax()函数或其简化的$.get()和$.post()方法可以...
这个struts2 实例是通过用js的一个框架jquery来实现的ajax,jquery真的不错,其中的数据传输格式用的时json,用了一个json_lib的jar包,所有所需的包都在了,下载后就能运行,对于初学struts2与ajax的朋友很有点帮助...
本实例展示了如何在Struts2框架下,通过Ajax发送请求获取JSON数据,并将数据返回到JSP页面,以填充下拉列表(`<s:select/>`标签)。 1. **Struts2配置**: 在`struts.xml`配置文件中,我们需要定义一个Action,...
为了实现这个示例,你需要了解Struts的配置、Action的编写、Hibernate的实体映射、数据库交互以及Ajax的基本原理和JavaScript的DOM操作。此外,还需要熟悉Java编程和JSP/Servlets,因为Struts通常与这些技术一起使用...
在Struts框架下,我们可以利用Ajax来实现异步的数据交互,提升应用的响应速度。以下三个例子展示了如何通过JavaScript配合Servlet和Action来实现Ajax功能: **例一:innerHTML的用法** 此例子展示了如何使用...
使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Struts2的交互开始。