这是九月份以来,在公司学习的时候的一些总结,不是很多,也并不太总要,但是自己在公司的项目中还是学到了很多东西,只是写出来感觉就不在了,能写出来的也就不那么总要了。
九月七日的笔记
@responseBody注解表示该方法的返回结果直接写入HTTP response
如果不加这个 spring mvc则将返回的结果当成跳转路径
@ResponseBody
@RequestMapping(value = "/findTangStreetIssue", method = RequestMethod.POST)
public ReturnObject findTangIssueInfo(***){
*******
return returnObject;
}
@RequestMapping(value = "/toTangStreetIssueInfo", method = RequestMethod.GET)
public String toTangStreeIssue() {
logger.error("-------这里是我的跳转-------");
return "tangtest/tangBeanefitStreetIssue";
}
这里下面的代码没有加上@responsebody则表示返回的是路径 然后这个返回的路径再在spring mvc的配置文件下 做配置 跳转到相对应的位置
AngularJS的controller一般是对某个div进行控制 同时控制的也只有这个div内的html
查看一下 他们的网页的图片是怎么显示的?
@RequestParam的用法
laypage分页框架用法
laypage({
cont: 'pageView', //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div>
pages: result.pageView.pageCount, //通过后台拿到的总页数
groups:7,
skip: true,
curr: pageNow, //当前页
jump: function(obj, first){ //触发分页后的回调
sj.data.pageIndex = obj.curr;
if(!first){ //点击跳页触发函数自身,并传递当前页:obj.curr
queryBenefitIssue(obj.curr);
}
}
});
上面的cont参数是指的是你分页在页面上显示的容器(eg:div)位置
有空会去研究一下layui公式的js框架 http://www.layui.com/alone/
九月二十七日笔记
js相关
这次在js方便的学习有了一个深刻的进步,现在在js上的看法算是有了更上一层楼
js的编写应该面向对象(也可以将整个document当成一个对象),将一个特定的对象的属性、方法集合在一起,这样可以使js代码更加利于阅读,同时应该写一些必要的注释,方便复查代码。
js的框架用layer laypage laytpl的框架来做前台的消息提示,模板渲染等操作,非常方便
下面是三个js代码块,估计以后常用这里特做保存
//对url的路径进行解析 获取name对应的值
function getQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
//替换指定传入参数的值,paramName为参数,replaceWith为新值
function replaceParamVal(paramName,replaceWith) {
var oUrl = this.location.href.toString();
var re=eval('/('+ paramName+'=)([^&]*)/gi');
var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
this.location = nUrl;
}
//给url添加参数
function addUrlPara(name, value) {
var currentUrl = window.location.href.split('#')[0];
if (/\?/g.test(currentUrl)) {
if (/name=[-\w]{4,25}/g.test(currentUrl)) {
currentUrl = currentUrl.replace(/name=[-\w]{4,25}/g, name + "=" + value);
} else {
currentUrl += "&" + name + "=" + value;
}
} else {
currentUrl += "?" + name + "=" + value;
}
if (window.location.href.split('#')[1]) {
window.location.href = currentUrl + '#' + window.location.href.split('#')[1];
} else {
window.location.href = currentUrl;
}
}
下面是访问网络的baseAjax 他对分页等做了封装。运用了jQuery,laypage框架
var pageNow = 1;
//这里的layer.alert原来都是msgBox
//type:post or get,params:data是参数,successMethod成功方法failMethod失败方法,isQueryPage是否分页,pageSkin分页后页号显示的颜色(eg:'#35A9FE'')
function baseAjax(url,requestType,params,isQueryPage,pageViewId,pageSkin,isShowLoading){
$.ajax({
url : url,
type : requestType,
data : params.data,
timeout:60000,
beforeSend:function(XMLHttpRequest){
if(typeof(isShowLoading) == "undefined" || isShowLoading){
Loading.showLoading();
}
},
success : function(data, textStatus) {
if(data == "is_login"){
window.location.href = "/index";
}
if(data == "user_notauth"){
layer.alert("操作失败:没有该权限!");
}
if(data == "login_timeout"){
var obj = {};
obj.successMethod = function(){
window.location.href = "/login";
}
layer.alert("登陆超时,请重新登陆",obj);
}
if(data.errorCode == 0){
params.successMethod(data);
if(isQueryPage){
//显示分页
laypage({
cont: pageViewId, //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div>
pages: data.pageView.pageCount, //通过后台拿到的总页数
skip: true, //是否开启跳页
groups:7,
skin: pageSkin,
curr: data.pageView.pageNow, //当前页
jump: function(obj, first){ //触发分页后的回调
params.data.pageNow = obj.curr;
if(!first){ //点击跳页触发函数自身,并传递当前页:obj.curr
//console.log(params.data.pageNow);
baseAjax(url,requestType,params,true,pageViewId,pageSkin);
}
}
});
}
}else{
params.failMethod(data);
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
var timeOutError = {};
timeOutError.detail = "连接超时";
params.failMethod(timeOutError);
if(textStatus == "timeout"){
// 超时,status还有success,error等值的情况
layer.alert("访问超时,请检查网络是否正常!");
}else{
layer.alert("访问出错!");
}
},
complete : function(msg){
Loading.hideLoading();
}
});
}
js 类相关
new classTest("wocaoo").nextTest();
function classTest(username){
this.username=username;
classTest.prototype.test = function(){
alert("this is test"+username);
}
}
classTest.prototype.nextTest=function(){
alert("this is nextTest")
}
这里的classTest类就可以定义为一个类 然后访问他的对象和熟悉就可以上上面那样访问