1 . 在controller层中的@ResponseBody注解中返回的要是一个对象而不能用字符串。

2 . 给html页面的按钮添加单击事件

	$(#login).click(
function login(){
//todo...
});

3 . jquery获取标签的值(通过id获取)

	$("#name").val();

4 . 使用JS来跳转页面:

	window.location.href = "edit.html";

也可以跳转到一个action:

	window.location.href = "login.do";

5 . 给如 li 标签绑定值

	<li class="online">
<a class='checked'>
<i class="fa fa-book" title="online" rel="tooltip-bottom"/>默认笔记本
</a>
</li> 代码如下: //构建如上标签:
var sli = "";
sli += '<li class="online"> ';
sli += '<a>';
sli += '<i class="fa fa-book" title="online" rel="tooltip-bottom">';
sli += '</i>' + bookName + '</a></li>';
//将bookId绑定到li元素上
var $li = $(sli);
$li.data("bookId", bookId);
//将li元素添加到ul列表中
$("#book_ul").append($li);

6 . 取出 li 标签的绑定值(父标签ul的id为book_ul)。

	var $li = $("#book_ul a.checked").parent();
var bookId = $li.data("bookId");//笔记id

7 . jQuery进行表单验证。

    $(function () {
$("#registerForm").validate({
rules: {
username: {
required: true,
rangelength: [4, 16],
remote: {
url: "checkUserName.do",
type: "post"
}
},
password: {
required: true,
rangelength: [4, 20]
},
confirmPwd: {
required: true,
equalTo: "#password"
}
},
messages: {
username: {
required: "请填写用户名!",
rangelength: "用户名长度必须在{0}-{1}之间!",
remote: "该用户名已经存在!"
},
password: {
required: "请填写密码!",
rangelength: "密码长度必须在{0}-{1}之间!"
},
confirmPwd: {
required: "请再次确认密码",
equalTo: "两次密码不一致"
}
},
submitHandler: function (form) {
$("#registerForm").ajaxSubmit({
dataType: "json",
success: function (data) {
if (data.success) {
$.messager.confirm("提示", "注册成功", function () {
window.location.href = "/personal.do";
})
} else {
$.messager.popup("注册失败!")
}
}
});
},
errorClass: "text-danger",
highlight: function (element) {
$(element).closest("div.form-group").addClass("has-error");
},
unhighlight: function (element) {
$(element).closest("div.form-group").removeClass("has-error");
}
})
})

checkUserName.do中,后台通过返回true或者false来判断是否验证成功,如果不成功就显示message的remote值。

jQuery提交表单的时候,通过调用#registerForm.ajaxSubmit来验证是否成功,在后来弹出的提示框的时候,第三个方法为给确认按钮添加方法,可以进行跳转操作。

8 .

  • freemaker

配置

<!--配置freeMarker的模板路径 -->
<bean
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- 配置freemarker的文件编码 -->
<property name="defaultEncoding" value="UTF-8"/>
<!-- 配置freemarker寻找模板的路径 -->
<property name="templateLoaderPath" value="/WEB-INF/views/"/> <property name="freemarkerSettings">
<value>
number_format = 0.##
datetime_format = yyyy-MM-dd HH:mm:ss
</value>
</property>
</bean> <!--freemarker视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<!-- 是否在model自动把session中的attribute导入进去,可以直接在前端使用session -->
<property name="exposeSessionAttributes" value="true"/>
<!-- 配置逻辑视图自动添加的后缀名 -->
<property name="suffix" value=".ftl"/>
<!-- 配置视图的输出HTML的contentType -->
<property name="contentType" value="text/html;charset=UTF-8"/>
</bean>
  • 使用

    • <#if logininfo??>表示logininfo这个对象存在:

        <#if logininfo??>
      //显示logininfo存在时候的信息...
      <#else>
      //显示不存在時候的信息...
      <#if/>
    • <#assign currentNav="account"/> 表示创建一个currentNav对象并赋值

前端js总结的更多相关文章

  1. 前端Js框架汇总

    概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...

  2. 闲聊——浅谈前端js模块化演变

    function时代 前端这几年发展太快了,我学习的速度都跟不上演变的速度了(门派太多了,后台都是大牛公司支撑类似于facebook的react.google的angular,angular的1.0还 ...

  3. json处理总结(前端js和后端java)

    前端(js): json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键,下面将介绍两者之间的相互转换. json字符串:var st ...

  4. 前端js文件合并三种方式

    最近在思考前端js文件该如何合并,当然不包括不能合并文件,而是我们能合并的文件,想了想应该也只有三种方式. 三个方式如下: 1. 一个大文件,所有js合并成一个大文件,所有页面都引用它. 2. 各个页 ...

  5. 2015 前端[JS]工程师必知必会

    2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...

  6. RSA加密前端JS加密,后端asp.net解密,报异常

    RSA加密前端JS加密,后端asp.net解密,报异常 参考引用:http://www.ohdave.com/rsa/的JS加密库 前端JS加密代码: function GetChangeStr() ...

  7. 前端js的书写规范和高效维护的方案_自我总结使用的方案

    作为程序员,人生最值得幸福的事有几件: 解决困扰了很长时间的问题 升职加薪 找个漂亮又靠谱的对象 深得领导的喜欢 带领团队冲锋陷阵 ... 哈哈,这些都是梦想,暂时想想就好了.这肯定和我说的东西不符合 ...

  8. 前端js,css文件合并三种方式,bat命令

    前端js,css文件合并三种方式,bat命令 前端js文件该如何合并三个方式如下:1. 一个大文件,所有js合并成一个大文件,所有页面都引用它.2. 各个页面大文件,各自页面合并生成自己所需js的大文 ...

  9. 前端js上传文件 到后端接收文件

    下面是前端js代码: <html> <head> <meta http-equiv="Content-Type" content="text ...

  10. Gridview 行变色和行按钮调用前端js

    1.鼠标移动某一行 ,变色 protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Ro ...

随机推荐

  1. JS自定义表单提交处理方案

    JS自定义数据提交处理方案 问题 在Ajax技术流行的今天,我遇到了一个很头疼的问题,我需要维护一个前人开发的问题单模块功能,并且不停的迭代开发,而这个问题就是问题单字段特别多,而且除了更新问题单外, ...

  2. ICPC中国南昌国家邀请赛和国际丝绸之路规划大赛预选赛 I J

    I. Max answer 链接:https://nanti.jisuanke.com/t/38228 思路: 枚举最小值,单调栈确定最小值的边界,用线段树+前缀和维护最小值的左右区间 实现代码: # ...

  3. 2.7 json 模块

  4. x86汇编语言实践(1)

    0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...

  5. Angular6封装http请求

    最近抽空学习了一下Angular6,之前主要使用的是vue,所以免不了的也想对Angular6提供的工具进行一些封装,今天主要就跟大家讲一下这个http模块. 之前使用的ajax库是axios,可以设 ...

  6. jdk各个版本之间的差异

    背景:求职过程中,这个问题反复被问到.如果答不上来,只能说明基本功不扎实,并不能说自己擅长java. 技术趣味史-Java 各个版本的特性 Java 5 2004 年 Sun 公司发布 J2SE5(没 ...

  7. js获取url参数(通用方法)

    function getUrl(name="") { var url = location.search; //获取url中"?"符后的字串 var theRe ...

  8. freemarker和thymeleaf的使用样例

    最近需要对公司项目首页使用Java模板重做,以提高首屏加载速度和优化SEO. 在选择模板时发现freemarker和thymeleaf最为常用. 两者最大的区别在于语法,对性能方面未作测试,具体性能测 ...

  9. Vim使用技巧:vimtutor

    一 写在开头1.1 本文内容本文内容为vim快速入门——vimtutor. 二 第一讲2.1 移动光标(命令模式下)上 - k下 - j左 - h右 - l 2.2 进入和退出vim进入vim - v ...

  10. 【转载】VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别

    https://blog.csdn.net/u012441545/article/details/51404412