Java开发笔记

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="width: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="width:50px;">是否必填</th> <th class="text-center" style="width:100px;">显示名</th> <th class="text-center" style="width:100px;">类型</th> <th class="text-center" style="width: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;
}
posted @ 2018-07-19 23:37  坚持就是胜利66  阅读(369)  评论(0编辑  收藏  举报