ajax与struts如何结合?

问题描述

请大家指点一下······谢谢!

解决方案

楼主,这个很容易。我不用任何AJAX框架给你一个例子,比如选了一个组织,需要连动得到该组织的用户:这里是个JSP页面,中间的代码省略了,<html:html>……<html:select name="xxxForm" property="organID" onchange="queryUsers();"> <html:optionsCollection name="xxxForm" property="orgs" label="orgname" value="organid" /> </html:select>……</html:html><script LANGUAGE="JavaScript"> ; queryUsers(); //查询用户function queryUsers(){ //定义了一个函数,用来查询某机构下的用户 if(!objRequest){ ajaxInit(); } var act="userAction.do"; //这里就是你的UserAction实例名 var method="post"; var orgainid=document.all["organID"].value; //获取你选的机构ID //Url content var content="action=queryOrgUser&organID="+orgainid; ajaxProcessBase(act,method,content,dealOrgUser); //dealOrgUser 函数为处理函数,需要定义}function dealOrgUser(){ //定义处理返回信息的函数 if(isAjax()){ eval(objRequest.responseText); }}//--></script>下面是 AJAX JS 部分:var objRequest;var action = "";//请求路径var method = "";//访问方法如get,post等var formcontent = "";//提交的保单数据function ajaxInit() { try { objRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { objRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch(ex) { try { objRequest = new XMLHttpRequest(); } catch(exc) { alert("浏览器不支持Ajax,可能会导致某些功能不能使用!"); objRequest = false; } } } }function ajaxProcessBase(act,met,content,fuctionProcess){ action=act; method=met; formcontent=content; if(objRequest){ objRequest.open(method, action, true); objRequest.onreadystatechange = fuctionProcess; if(method == "post"){ objRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } formcontent = formcontent != "" ? formcontent : null; objRequest.send(formcontent); } }//判断是否请求成功function isAjax() { if(objRequest.readyState == 4){ if(objRequest.status == 200){ return true; } else { alert("Problem: "+objRequest.statusText); } } return false; }下面是Struts action里面的一段:String action = form.getAction();……if (action.equals("queryOrgUser")) { //查找一个公估组织下面的所有公估师 Collection col = manager.queryUser(form.getOrganID()); StringBuffer sb = new StringBuffer(); httpServletResponse.setContentType("text/xml;charset=GBK"); httpServletResponse.setHeader("Cache-Control", "no-cache"); java.io.PrintWriter out = httpServletResponse.getWriter(); sb.append(" var sel= document.all['userid'] ; rn"); sb.append(" sel.options.length=0; rn"); java.util.Iterator it = col.iterator(); User user= null; while (it.hasNext()) { user = (User) it.next(); sb.append("var option=new Option('" + user.getName().trim() + "','" + user.getUserid() + "');rn"); sb.append(" try{ rn"); sb.append(" sel.add(option); rn"); sb.append("}catch(e){ } ;rn "); } System.out.println(sb.toString()); out.print(sb.toString()); out.flush(); out.close(); return null; }……这个是我以前的一个从项目中摘出来的,绝对是有效的。

时间: 2024-11-10 00:13:39

ajax与struts如何结合?的相关文章

ajax交互Struts 2的action

1.客户端网页代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"

ajax和struts的&amp;amp;lt;s:iterator&amp;amp;gt;怎样结合展示数据,急.....谢谢,

问题描述 ajax和struts的<s:iterator>怎样结合展示数据,急.....谢谢, 解决方案 直接将参数传入方法中,要不你放到iterator循环中会导致id重复,这样多条记录只能获取到最先出现的id控件 <a href=""doQuery('<s:property... />''<s:property ..../>')"">Query</a>function doQuery(namecard)

使用AJAX的Struts验证框架

实时数据验证是AJAX技术的一大优势之一.通过应用此技术,struts验证框架将增强struts MVC,并使Web应用程序更接近于桌面应用程序. 此验证框架用于验证字段.有许多在Web应用程序上进行验证的方法.这些方法可分为两类:服务器端方法和客户端方法.Struts验证框架是面向基于Java的Web应用环境的最佳框架之一.它能够配置应用程序,方法是使用服务器端验证和错误消息,此错误消息在处理请求时呈现在调用的验证流程上,它还能够进行客户端验证,方法是使用请求页面上呈现的JavaScript.

看看如何在Struts应用中施展AJAX魔法

ajax AJAX是最近在web开发流程中一次革命,它允许在一个普通的web浏览器中配置大量的动态效果.多年前Struts 都已经是Java-Web开发中的一个事实上的标准,在大量的应用中都已经使用了它.本文将告诉你,如何在你已经存在Struts应用中结合丰富的AJAX没Ы涌凇? 本文将介绍在JSP页面中包含一些JavaScript这样一个简单而有效的方法来结合AJAX和Struts.在此我们介绍如何重新使用已经存在的Struts actions,但此技术同样可用于你选择的其他Java-Web

在Java的Struts中判断是否调用AJAX及用拦截器对其优化_java

Strut2判断是否是AJAX调用 1.   AJAX与传统Form表单实际上,两者一般都是通过HTTP的POST请求.区别是浏览器提交Form表单后,期望服务器返回一个完整的HTML页面.而AJAX调用是由XMLHttpRequest对象(不同浏览器可能不一样)发出,浏览器期望服务器返回HTML片段即可,具体是JSON.XML等都没有要求.返回到浏览器后如何使用,也是由JS脚本自己决定的.  2. 请求是不是AJAX那么对于服务器端,如何判断一个HTTP请求是不是AJAX调用?这需要看HTTP

Ajax简单例子(JSP)

ajax|js 首先是jsp页面和脚本,为了方便写在一个里面  这是一个很常见的检测用户名是否存在的功能  这里用的是struts  <%@ page contentType="text/html; charset=GBK" %>  <html>  <head>  <title>  ajax  </title>  </head>  <body bgcolor="#ffffff"> 

使用struts2+Ajax+jquery验证用户名是否已被注册_jquery

推荐阅读:JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册 在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面的例子,我们只希望返回一个1和0有助于进行后续判断即可,没必要返回json类型,返回一个text字符串就可以了. regist.jsp(这里只提供<script>部分): <script type

Struts 2.0的新特性

Struts 2.0的新特性 Struts 2.0框架中出现的许多特性旨在让Struts更容易使用: ● 改进的设计: 与Struts 1相比,Struts 2的所有类都基于接口,核心接口独立于HTTP.这些API并不依赖服务器小程序API. ● 简化的Action: Struts 2 Action类独立于框架,是简化的普通Java对象(POJO).拥有execute()方法的任何Java类都可以用做Action类. ● POJO表单: Struts 2不支持ActionForms特性.Acti

基于Lucene的图书全文搜索引擎

基于Lucene的图书全文搜索引擎 Baofeng Zhang@zju  转载请注明出处:http://blog.csdn.net/zbf8441372 背景介绍       这是一个关于图书的多侧面,多粒度的搜索引擎.仿照"读秀"(http://www.duxiu.com/)那样的搜索方式和搜索结果呈现方式,可以根据书的一些基本属性进行关键字搜索,展现的时候还附加进行了搜索结果的统计,也可以看到相关的全文信息.多侧面,多粒度的搜索和展示都是为了给用户更好的体验,方便用户的各种搜索需求