jsp中一些jQuery用法以及struts2标签的使用
来源:互联网 发布:手机发帖软件 编辑:程序博客网 时间:2024/06/06 05:39
jsp页面中的初始化方法,类似于flex中的creationComplete方法,是在页面加载完成之后就调用的方法,有两种写法:
第一种:
window.onload=function(){ //在此进行初始化方法};
这种方法有个局限性,就是在一个jsp中只能有一个该方法。而且该方法需要在页面的所有东西加载完成之后才运行,包括图片。
还有就是利用jQuery的方法进行初始化方法:
第二种:
$(document).ready(function() { //在此进行初始化的方法编写});
该方法没有数量上的局限性,可以编写多个该方法,而且还有简写形式。而且该方法是在页面的DOM结构绘制完毕后就执行,不必等到加载完毕。
第二种的简写形式:
$(function(){ //在此进行初始化方法编写});
在初始化方法中对table进行操作,得到table中的某一列:
$(function() {//得到ID为grid的TABLEvar tab = document.getElementById("grid");//得出Table的所有行,rows[i].cells:得到每行的所有列var rows = tab.rows;for ( var i = 1; i < rows.length; i++) { var plan_count = rows[i].cells[4].innerHTML;//计划数量 var fact_count = rows[i].cells[7].getElementsByTagName("input")[0].value;//实际数量 if (plan_count == fact_count)//当计划数量和实际数量相等时实际数量不可编辑 rows[i].cells[7].getElementsByTagName("input")[0].readOnly = true;//设置只读 }});
利用struts2的标签如何去除Action中的值,前提是这个值在Action中必须有get方法。
<s:property value="OGNL表达式"/>每次请求action转发回来后,当前页面会有一个valueStack,action里的全部信息都保存在里面,比如你action里有个字段username(提供的有get方法)
则你在<s:property value="username"/>就能直接取到值。如果是对象ognl还可以支持导航:<s:property value="user.username"/>
同时当前页面还保存的有ActionContext(不知道怎么翻译...),跟valueStack一样,也可以直接取值,但是前面要加个#号以区别。
request、application对象都在actionContext里面,可以这么取requst里的值<s:property value="#request.username"/>
jQuery的Ajax写法:
$.post(url, { '参数1' : a, '参数2' : b, ... }, function(data, status) { //data为Action中传过来的数据,字符串或为html字符串;status为状态,成功为success alert("数据:" + data + "\n状态:" + status); });其中url为调用的Action的路径(我后台用的是struts2,有用PHP和asp的或jsp的,我这里就不介绍了);紧跟着的其实是一个参数数组,用大括号包起来的数组;然后是回调函数,函数中有连个参数,第一个data为Action中返回的数据,status为返回的状态数据。下面附上Action中的部分代码:
...HttpServletResponse repon = getHttpResponse();//得到Response对象try {repon.getWriter().write("success");//向response中写入要返回的信息,在此可以拼接html(这个数据就是前面回调函数中的data)} catch (IOException e) {e.printStackTrace();}
那向response中写入返回信息时,不能转发,转发的话会返回你转发的页面。还有就是有需要字符转义的话可以用一下语句:repon.setCharacterEncoding("UTF-8");写入之后最好进行刷新:repon.getWriter().flush();。
给table中所有的td添加鼠标点击事件:
$(function(){$("td[name*='confirm']").click(function() {//获得系统当前时间 var curDate = new Date();<span style="white-space:pre"></span>})}一下再附上一个在js中得到当前时间的函数,格式为(yyyy-mm-dd)
//得到当前时间字符串(年-月-日)function CurentTime(){ var now = new Date(); var year = now.getFullYear(); //年 var month = now.getMonth() + 1; //月 var day = now.getDate(); //日 //var hh = now.getHours(); //时 //var mm = now.getMinutes(); //分 var clock = year + "-"; if(month < 10) clock += "0"; clock += month + "-"; if(day < 10) clock += "0"; clock += day + " "; //if(hh < 10) //clock += "0"; //clock += hh + ":"; //if (mm < 10) clock += '0'; //clock += mm; return(clock); } <pre name="code" class="javascript">//对象转json对象var jsonstr = {<span style="white-space:pre"></span>"XX" : "XX","XX" : "XX"};var param = $.toJSON(jsonstr);
//js中得到项目的发布路径var url = ${pageContext.request.contextPath}
//利用document向表格中动态添加行和列var cost_table=document.getElementById("表格ID");var cost_rowObj=cost_table.insertRow(-1);//括号中的是第几行也就是添加的位置,-1为倒数第一行,-2为倒数第二行var cost_cell1Obj=cost_rowObj.insertCell(-1);var cost_cell2Obj=cost_rowObj.insertCell(-1);var cost_cell3Obj=cost_rowObj.insertCell(-1);var cost_cell4Obj=cost_rowObj.insertCell(-1);//一共添加4列,每列都添加到最后一个cost_cell1Obj.innerHTML = "<input name='sel_radio' type='checkbox'>";//利用document向列中添加内容
下面给出一个小写数字转换为汉字的方法,如100-->壹佰元整:
/* * 功能:将货币数字(阿拉伯数字)(小写)转化成中文(大写) * * 参数:Num为字符型,小数点之后保留两位,例:Arabia_to_Chinese("1234.06") 说明:1.目前本转换仅支持到 拾亿(元) * 位,金额单位为元,不能为万元,最小单位为分 2.不支持负数 */function numtochinese(Num) {for (i = Num.length - 1; i >= 0; i--) {Num = Num.replace(",", "")// 替换数据中的“,”Num = Num.replace(" ", "")// 替换数据中的空格}Num = Num.replace("¥", "")// 替换掉可能出现的¥字符if (isNaN(Num)) {// 验证输入的字符是否为数字//alert("请检查小写金额是否正确");return;}// ---字符处理完毕,开始转换,转换采用前后两部分分别转换---//part = String(Num).split(".");newchar = "";// 小数点前进行转化for (i = part[0].length - 1; i >= 0; i--) {if (part[0].length > 10) {//alert("位数过大,无法计算");return "";}// 若数量超过拾亿单位,提示tmpnewchar = ""perchar = part[0].charAt(i);switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "贰" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陆" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}switch (part[0].length - i - 1) {case 0:tmpnewchar = tmpnewchar + "元";break;case 1:if (perchar != 0)tmpnewchar = tmpnewchar + "拾";break;case 2:if (perchar != 0)tmpnewchar = tmpnewchar + "佰";break;case 3:if (perchar != 0)tmpnewchar = tmpnewchar + "仟";break;case 4:tmpnewchar = tmpnewchar + "万";break;case 5:if (perchar != 0)tmpnewchar = tmpnewchar + "拾";break;case 6:if (perchar != 0)tmpnewchar = tmpnewchar + "佰";break;case 7:if (perchar != 0)tmpnewchar = tmpnewchar + "仟";break;case 8:tmpnewchar = tmpnewchar + "亿";break;case 9:tmpnewchar = tmpnewchar + "拾";break;}newchar = tmpnewchar + newchar;}// 小数点之后进行转化if (Num.indexOf(".") != -1) {if (part[1].length > 2) {//alert("小数点之后只能保留两位,系统将自动截段");part[1] = part[1].substr(0, 2)}for (i = 0; i < part[1].length; i++) {tmpnewchar = ""perchar = part[1].charAt(i)switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "贰" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陆" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}if (i == 0)tmpnewchar = tmpnewchar + "角";if (i == 1)tmpnewchar = tmpnewchar + "分";newchar = newchar + tmpnewchar;}}// 替换所有无用汉字while (newchar.search("零零") != -1)newchar = newchar.replace("零零", "零");newchar = newchar.replace("零亿", "亿");newchar = newchar.replace("亿万", "亿");newchar = newchar.replace("零万", "万");newchar = newchar.replace("零元", "元");newchar = newchar.replace("零角", "");newchar = newchar.replace("零分", "");if (newchar.charAt(newchar.length - 1) == "元"|| newchar.charAt(newchar.length - 1) == "角")newchar = newchar + "整"return newchar;}
不断更新...
0 0
- jsp中一些jQuery用法以及struts2标签的使用
- struts2 标签中¥%#的用法
- Struts2标签中$,#,%的用法
- Struts2标签的的一些用法
- struts2+FreeMarker中使用JSP标签
- struts2标签的一些基本用法
- jQuery使用ajaxSubmit()提交表单以及AjaxSubmit的一些用法
- jsp中显示list 以及 c:forEach标签的使用
- jsp中显示list 以及 c:forEach标签的使用
- 在struts2.1中使用datetimepicker标签的用法
- 在jsp中使用jstl标签的常规用法
- checkbox标签的一些用法(jQuery操作)
- c标签和struts2标签一些用法上的区别
- 在JSP中使用struts2的标签把request中的对象数据展示在JSP上
- struts2标签使用的一些零碎
- struts2 中select标签的用法
- STRUTS2标签中符号#,$,%的用法示例
- Struts2 中s:iterator 标签的用法
- hdu1031Design T-Shirt
- 网络命令总结(Cisco Packet Tracer)
- poj-3259
- http://travel.tianya.cn/travelPlan/showPlan?planId=938795
- jquery中.bind(),.live(),.delegate(),.on().one()的参数及版本
- jsp中一些jQuery用法以及struts2标签的使用
- 开始blog之旅
- AWS placement group ,ENI ,EIP学习笔记
- C语言中一些很酷的技巧(cool tricks)
- Ubuntu 12.04 中文输入法IBus的安装
- 不,Linux桌面未死
- poj3041Asteroids
- Light OJ 1406 Assassin`s Creed 状态压缩DP+强连通缩点+最小路径覆盖
- 缓冲区溢出详解