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;
}