易截截图软件、单文件、免安装、纯绿色、仅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),也是个困扰了我很久的低级问题。。


相关文档:

asp.net使用ajax后如何在客户端弹出提示对话框

//平常调用javascript方法
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert'Weclome!!!');</script>");
背景不为白色的方法:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('添加失败,请联系技术员!') ......

Jquery 中Ajax使用的四种情况

<script type="text/javascript" language="javascript" src="JS/jquery-1[1].2.3.min.js"></script>
    <script type="text/javascript" language="javascript">
    $(document).ready(function(){   //Jquery 页面加载事件,当页面加载之后首 ......

ajax简单校验


function saveObj(){
    var userName = document.getElementById("userName").value;  
    checkUserName(userName);
}
//使用ajax实现页面无刷新功能; 
    var xmlHttpRequest;
    function createXMLHttpRequest(){
      if(windo ......

Ajax无刷新自动发送邮件

应项目需求,测试了下自动发送邮件的功能,以实现,下面分别介绍前台的Ajax和后台c#
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SendEmail.aspx.cs" Inherits="SendEmail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号