1.将一个对象转换成json
方法一:(公司)
import com.tongfusoft.utils.JsonUtils; Folders folders = new Folders(); TreeDto treeDtosList = iFoldersService.foldersRootList(folders); System.out.println(JsonUtils.getJsonString4JavaPOJO(treeDtosList));
方法二:
import net.sf.json.JSONObject; Folders folders = new Folders(); TreeDto treeDtosList = iFoldersService.foldersRootList(folders); JSONObject obj = JSONObject.fromObject(treeDtosList); System.out.println(obj);
输出来的json和上面一样。
2.把字符串转换为json
String str = ‘{"projectNo": "1000", "uploadMode": "1", "projectNo_data": "1000,1100,1200"}’; JSONObject jsonObj = JSONObject.fromObject(str);
3.把json的key,value取出来
Iterator it = jsonObj.keys(); while(it.hasNext()){ String key = (String) it.next(); String value = jsonObj.getString(key); }
4. 把数组转换为json
JSONArray result = JSONArray.fromObject(metadataList);
5. 一个json对象里面放多个json
Map docMap = new HashMap(); docMap.put("docData", detail); docMap.put("docMetadata", metadataList); docMap.put("docHistory",this.docService.DocsHistoryList(doc.getDocName()));
6. 获得select选择框的值
<select class="form-control m-b valid" id="selectType" aria-invalid="false"> <option id="text" value="text">文本</option> <option id="date" value="date">日期</option> <option id="textarea" value="textarea">长文本</option> <option id="number" value="number">数字</option> </select>
$('#selectType').change(function(){ Var metadataType=$(this).children('option:selected').val(); }
7. Select框选中后删除事件以及获取option的所有值
<select id="option" multiple="" name="selectData" class="form-control valid" aria-invalid="false"> <option value="2321">2321</option> <option value="2312">2312</option> <option value="12312">12312</option> <option value="13">13</option> </select> <input type="hidden" name="selectData" id="optionValue" /> <button type="button" id="addSelectData" class="btn btn-default" ><em class="fa fa-plus"></em></button> <button type="button" id="deleteSelectData" class="btn btn-default" ><em class="fa fa-minus"></em></button>
$("#deleteSelectData").click(function() { $("#option :selected").remove(); var array = new Array(); //获取option的值 $("#option option").each(function(){ var txt = $(this).val(); if(txt!=''){ array.push(txt); } }) $("#optionValue").val(array) });
8.Select 页面选中判断
resTypeList : function() { var url = 'admin/dictionary/dictClass/41692/dictData'; common.get(url, function(data) { $("#selectResType").html(''); var typeData = ''; if (data.status == '0') { $.each(data.data.content, function(index, item) { if(item.dictKeyValue === $('#resType').val()){ var typeHtml = '<option selected="selected" id="' + item.dictKeyValue + '" value="' + item.dictKeyValue + '">' + item.dictKeyValue + '</option>'; }else{ var typeHtml = '<option id="' + item.dictKeyValue + '" value="' + item.dictKeyValue + '">'+ item.dictKeyValue + '</option>'; } typeData = typeData + typeHtml; });
} $("#selectResType").html(typeData); });
}
9. Bootstrap redio选中事件
<div class="col-sm-10"> <label class="radio-inline c-radio" id="radioOneLable"> <input id="radioOne" value="1" name="import" checked="" type="radio" /> <span class="fa fa-check"></span>文本 </label> <label class="radio-inline c-radio" id="radioTwoLable"> <input id="radioTwo" value="2" name="import" type="radio" /> <span class="fa fa-check"></span>下拉框 </label> </div>
$('#radioOne').prop('checked',true).parent('span').addClass('checked');
10. 多个复选框提交数据
$("#submitFieldsetMetadata").click(function() { var bb = ""; var temp = ""; var metaSortTemp=""; var metaSortVal =""; var isRequireTemp = ""; var isRequireVal = ""; var choiceMetadata =document.getElementsByName("choiceMetadata"); var metaSort = document.getElementsByName("metaSort"); var isRequire = document.getElementsByName("isRequire"); for ( var i = 0; i < choiceMetadata.length; i++) { if (choiceMetadata[i].checked) { temp = choiceMetadata[i].value; bb = bb + "," +temp; for (var j = 0; j < isRequire.length; j++) { if(isRequire[i].checked){ isRequireTemp = "1"; }else{ isRequireTemp = "0"; } } isRequireVal = isRequireVal + "," + isRequireTemp; metaSortTemp = metaSort[i].value; metaSortVal = metaSortVal + "," + metaSortTemp; } } $("#metadataIdList").val(bb); $("#metaSortList").val(metaSortVal); $("#isRequireList").val(isRequireVal); $("#fieldsetMetadataForm").submit(); })
11. 复选框全选
<tr> <th data-check-all="" style="50px;"> <div data-toggle="tooltip" data-title="Check All" class="checkbox c-checkbox"> <label> <input type="checkbox" id="checkAll"/>
<span class="fa fa-check"></span> </label> </div> </th> <th class="text-center" style="50px;">是否必填</th> <th class="text-center" style="100px;">显示名</th> <th class="text-center" style="100px;">类型</th> <th class="text-center" style="100px;">顺序</th> </tr>
//全选 metadataCheck : function(){ var choiceMetadata = document.getElementsByName("choiceMetadata"); var checkAll = document.getElementById("checkAll"); $("#checkAll").click(function() { if(checkAll.checked == true) { for(var i = 0; i < choiceMetadata.length; i++){ choiceMetadata[i].checked = true; } } else { for(var i = 0; i < choiceMetadata.length; i++){ choiceMetadata[i].checked = false; } } }); }
12. Restful api测试
package com.tongfusoft.document.web.application.test; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.mock.web.MockHttpSession; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import com.tongfusoft.document.entity.Users; import com.tongfusoft.document.manager.user.service.IDocumentUserService; import com.tongfusoft.utils.Constant; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @Configuration @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest public class MetadataTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Autowired @Qualifier(value = "DocumentUserService") public IDocumentUserService userService; private MockHttpSession session; @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); //模拟登录 String loginName = "admin"; Users loginUser = userService.getUserByLoginName(loginName); //将登录的用户存在session中 session = new MockHttpSession(); session.setAttribute(Constant.SESSION_USER, loginUser); } @Test public void testDetailUser() throws Exception { mockMvc.perform(get("/manager/user/detail/c240da50-013b-4b3d-8c46-77976e288497").session(session) .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk()) .andDo(print()) .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)); } //@Test public void testDelUser() throws Exception { String delName = "s"; Users delUser = userService.getUserByLoginName(delName); mockMvc.perform(get("/manager/user/del").session(session) .contentType(MediaType.APPLICATION_JSON_UTF8) .param("userId", delUser.getUserId())) .andExpect(status().isOk()) .andDo(print()) .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)); }
13. 时间校验
//时间校验 checkTime : function () { var orderStartTime = $("#orderStartTime").val(); var orderEndTime = $("#orderEndTime").val(); if(orderStartTime && orderEndTime){ //将字符串转换为日期 var begin=new Date(orderStartTime.replace(/-/g,"/")); var end=new Date(orderEndTime.replace(/-/g,"/")); //js判断日期 if(end < begin ){ alert("您选择的时间范围有误"); $("#orderStartTime").val(""); $("#orderEndTime").val(""); return false; } } return true; },
14. 时间格式化
function dateFtt(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; }
15. 上一个月时间
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中月的天数 var year2 = year; var month2 = parseInt(month) - 1; if (month2 == 0) { year2 = parseInt(year2) - 1; month2 = 12; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if (day2 > days2) { day2 = days2; } if (month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }
16. 下一个月时间
/** * 获取下一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getNextMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中的月的天数 var year2 = year; var month2 = parseInt(month) + 1; if (month2 == 13) { year2 = parseInt(year2) + 1; month2 = 1; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if (day2 > days2) { day2 = days2; } if (month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }