$(’#formid’).serialize()
${fn:escapeXml(demoName)} 解决Xss 问题
需要使用 ctrl / command 进行多选操作
<select multiple="multiple" size="2">
<input type="text" id="id" name="password" placeholder="密码" autocomplete="off" onfocus="this.type='password'">
//全局事件
$(function(){
//id 为 demoId的点击事件
$("#demoId").click(function(){test()});
//模拟点击 id 为demoId的元素
$("#demoId").click();
});
function test(){
alert("hello");
}
//全局事件
$(function(){
//对 id 为demoid 的点击事件进行捕获
$("#demoid").click(function(){
test();
});
});
//单独写一个 function
function test(){
alert(""点击了);
}
使用 innerHTML 新增的元素无法通过 $("#idName").click(function(){内容});触发,解决办法是 innerHTML 同时写好 onclick 的内容
//新增一个 function 方法
function funName(){alert("触发了")};
//另一个function 的代码片段
//获取页面元素
demoId = document.getElementById("demoId");
demoId.innerHTML= demoId.innerHTML +
""
+"
"
需要写一个function 方法
后端可以直接传递时间格式
/*日期格式化
* format 时间格式 yyyy-MM-dd hh:mm:ss 24小时制
* var date=new Date(); var time=date.farmet("yyyy-MM-dd hh:mm:ss");
* var date=new Date(12345678); var time=date.farmet("yyyy-MM-dd hh:mm:ss");
* */
Date.prototype.format = function(format){
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
}
}
return format;
}
//新创建时间
var date=new Date(); var time1=date.farmet("yyyy-MM-dd hh:mm:ss");
//整形时间,适用于后端传递来的时间类型或者时间戳
var date=new Date(12345678); var time2=date.farmet("yyyy-MM-dd hh:mm:ss");
<p id="demoId">p>
public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
private String userName;
private int age;
//get/set 方法略
}
@GetMapping("/test")
@ResponseBody
public Map<String,Object> test(){
Map<String,Object> map=new HashMap<String,Object>();
List list=new ArrayList();
UserInfo u=new UserInfo("123",25);
list.add(u);
list.add(u);
list.add(u);
list.add(u);
map.put("list", list);
return map;
}
function initializtion(){
$.ajax({
url : "test",// 请求地址
//timeout : 600000,//超时时间设置,单位毫秒
async : false,// 异步
cache : false,// 缓存
type : 'get',// 请求方式
//data: {"name":"123"},//data: $('#formid').serialize(),//序列化表单-当触发一个form表单提交的ajax事件的时候,这个序列化方法自动将数据转化为json格式传递给后台
dataType : 'json',// 服务器返回的数据类型
success : function(msg) {// 请求成功后调用的
//console.log(JSON.stringify(msg.list));
//console.log(msg.list);
demoId = document.getElementById("demoId");
msg.list.forEach(test);
},
error :function(){
alert("异常");
}
});
}
//被循环调用的方法
function test(item, index) {
demoId.innerHTML = demoId.innerHTML + "index[" + index + "]: userName" + item.userName +" age"+item.age + "
";
}
<p id="demoId">p>
var number=123;
demoId = document.getElementById("demoId");
demoId.innerHTML = demoId.innerHTML + "自定义内容" + number + "
";
http://www.runoob.com/jsref/jsref-foreach.html
$(function () {
//...
});
$("#demoId").mouseover(function(){
alert("你的鼠标经过了");
});
直接在单独到 js 文件中是无法获取上下文路径的,需要先单独在jsp页面设置一下,然后再在js 文件中直接使用
<script type="text/javascript">
var contextPath = "${pageContext.request.contextPath}";
</script>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
var str1 = '{ "name": "123", "age": 11 }';//JSON字符串
var obj1 = JSON.parse(str1); //由JSON字符串转换为JSON对象
console.log(obj1.name);//打印 JSON 对象的name属性值
var str2=JSON.stringify(obj1);//将 JSON 对象转化为 字符串
console.log(str2);//打印字符串到控制台