zoukankan      html  css  js  c++  java
  • 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="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;
    }
  • 相关阅读:
    ARCGIS JAVASCRIPT API (3.2)部署
    WINFORM 只能运行一个实例问题
    iOS 版本号
    同步和异步的区别
    简单的手机号判断
    "_inflateEnd", referenced from "_inflateInit_"等。这时需要在工程中加入libz.dlib 文件
    iOS 实现打电话
    assign retain copy iOS
    iOS 长按事件 UILongPressGestureRecognizer
    UITableView 滑动删除
  • 原文地址:https://www.cnblogs.com/jcjssl/p/9339106.html
Copyright © 2011-2022 走看看