易截截图软件、单文件、免安装、纯绿色、仅160KB

关于struts2中ajax标签的一点学习笔记

其实ajax的东西不是很熟悉,而且对于javascript这样零碎的语言实在是很抗拒。于是过去一直都逃避它,迫于项目的压力,不得已惟有硬碰硬了。为了快速上手,之前做了几个小实验,代码实在太多了。幸好struts2提供了一些ajax的简易实现。
跟网上所有的教程一样,先从最简单的开始吧~
在头结点加上<s:head theme="ajax"/>
然后
<s:url id="requesturl" value="/get.action"></s:url>
<s:div id="information" theme="ajax"></s:div>
<s:a targets="information" theme="ajax" href="%{requesturl}" mce_href="%{requesturl}">获取信息</s:a>

服务器端的代码我就不写了,大同小异。返回的可以是任何东西,各种表单、表格、图什么的,具体要看你请求的是什么。返回的资源会直接显示在information的div中。这里有个小问题要注意,requesturl中的value值必须是/*.action的形式,而不能是struts.xml中的对应的action名称。
关于其他的属性就不实验了。
接下来加上一点javascript的操作,用文本按钮操作返回资源的显示和隐藏。
于是很自然的想到这样写:
 <mce:script type="text/javascript"><!--
function hide(var i){
document.getElementById(i).style.display="none";
}
// --></mce:script>

然后把div的id值传进去,完成!但是失败。。这个函数完全执行不了。
这个问题困扰了我很久,我尝试了各种各样的方法,最后发现,javascript的函数传值机制跟平时写的C++和JAVA是有区别的。
在上面的代码中只要改成function hide(i){...}就可以执行了。
为什么这样呢?
原来的代码大概类似于java中的String newcopy = prototype.clone();
该函数新申请了一个地址并接受了与该参数等值的值,因此getElementById()去了另外一个地址寻找节点,而那里没有我们要操作的节点,于是调用该函数的时候没反应。囧,知识还得系统的学才行,半桶水太危险了。
另外关于onclick中的函数调用也有一个容易疏忽的地方,比如有个<div id="a"></div>,传值的时候应该是hide('a')而不是hide(a),也是个困扰了我很久的低级问题。。


相关文档:

Ajax三步曲和DWR的使用

使用DWR开发Ajax应用:
1、导入DWR的Jar包:dwr.jar;
2、在/WEB-INF下添加dwr.xml配置文件;
3、在web.xml文件中配置dwr的服务器端组件(DwrServlet):
<!-- 添加DWR的Servlet -->
  <servlet>
  <servlet-name>dwr</servlet-name>
  <servlet-class>org.direc ......

jQuery Ajax 实例 全解析

jQuery Ajax 实例 全解析
引自:http://www.pqshow.com/design/Javascript/200909/10473.html
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。
废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们 ......

Ajax获取层的方法

var x,y;
 //这是一个通过AJAX取得提示信息的方法
  function over(noteContent){
   //记录事件发生时的鼠标位置
   x = event.clientX;
   y = event.clientY; 
   //显示工具提示
   document.getElementById(" ......

ajax简单校验


function saveObj(){
    var userName = document.getElementById("userName").value;  
    checkUserName(userName);
}
//使用ajax实现页面无刷新功能; 
    var xmlHttpRequest;
    function createXMLHttpRequest(){
      if(windo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号