`
zhpengfei0915
  • 浏览: 65939 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

拼接json字符串

 
阅读更多
  1. <prename="code"class="java">/**
  2. *通过读取流程对应工单的字段权限将字段权限拼接为json格式字符串
  3. *拼接json字符串格式:
  4. *[{"fieldNane":"name1","fieldRight":"right1"},{"fieldNane":"name2","fieldRight":"right2"},...{"fieldNane":"name3","fieldRight":"right3"}]
  5. *@paramlist
  6. *@return
  7. */</pre>
  8. <pre></pre>
  9. <prename="code"class="java">publicStringappend2Json(Listlist){
  10. StringBuffersb=newStringBuffer("[");
  11. for(inti=0;i<list.size();i++){
  12. FwtActionRightfarObj=(FwtActionRight)list.get(i);
  13. StringfieldName=farObj.getFieldName().toLowerCase();
  14. StringfieldRight=farObj.getFieldRight().toLowerCase();
  15. sb.append("{\"fieldName\":\"");
  16. sb.append(fieldName);
  17. sb.append("\",\"fieldRight\":\"");
  18. sb.append(fieldRight);
  19. sb.append("\"");
  20. sb.append("},");
  21. //最后一个元素的右边大括号'}'后不添加','
  22. if(i==list.size()-1){
  23. sb.append("{\"fieldName\":\"");
  24. sb.append(fieldName);
  25. sb.append("\",\"fieldRight\":\"");
  26. sb.append(fieldRight);
  27. sb.append("\"");
  28. sb.append("}");
  29. }
  30. }
  31. sb.append("]");
  32. Stringstr=sb.toString().replaceAll("\"","%22");//避免js获取此字符串时被双引号(")截断
  33. //Stringstr=sb.toString().replaceAll("\"","%27");////避免js获取此字符串时被单引号(')截断
  34. returnstr;
  35. }</pre><br>
  36. 2.获取表单字段对应的权限,将其拼接为json格式的字符串,并且将其值传到页面<br>
  37. <prename="code"class="java">/**
  38. *显示‘现场检查’步骤--填单页面
  39. *@parammapping
  40. *@paramform
  41. *@paramrequest
  42. *@paramresponse
  43. *@return
  44. *@throwsException
  45. */
  46. publicActionForwardshowAddNPatrolOrder_localeCheck(ActionMappingmapping,ActionFormform,
  47. HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
  48. StringactionName="现场检查";
  49. StringflowName="设备巡维工作联系单";
  50. StringtableName="MAP_HISTORY_NPATROL";
  51. Listlist=swfBiz.getFwtActionRights(actionName,tableName,flowName);
  52. //拼接json格式的字符串
  53. StringjsonStr=this.append2Json(list);
  54. request.setAttribute("elementJson",jsonStr);
  55. returnmapping.findForward("success");
  56. }
  57. </pre>
  58. <p><br>
  59. </p>
  60. <p>3.jsp页面上的json格式字符串值</p>
  61. <prename="code"class="html"style="background-color:rgb(255,255,255);"><prename="code"class="java"><inputname="elements"id="elements"type="text"style="DISPLAY:none;WIDTH:77px;HEIGHT:22px"size="10"value="${elementJson}"/></pre>
  62. <pre></pre>
  63. <p></p>
  64. <pre></pre>
  65. <prename="code"class="html"style="background-color:rgb(255,255,255);">4.jsjQuery取页面上的json字符串格式值,并将其解析,转为json数据类型,然后根据不同字段的权限,写入其相应的格式。
  66. </pre><prename="code"class="java">/**
  67. *显示‘现场检查’页面
  68. */
  69. varelementList=$('#elements').val();
  70. elementList=unescape(elementList);//解析双引号、单引号
  71. varjson=eval('('+elementList+')');//json格式字符串转为json数据类型
  72. for(vari=0;i<json.length;i++){
  73. varfieldName=json[i].fieldName;
  74. varfieldRight=json[i].fieldRight;
  75. if(fieldRight=='r'){//r--只读
  76. $('#'+fieldName).attr("readonly","");
  77. $('#'+fieldName).attr("readonly","readonly");
  78. $('#'+fieldName).css("border-style","none");//.css("background-color","red");
  79. }elseif(fieldRight=='w'){//w--可写
  80. $('#'+fieldName).attr("readonly","");
  81. $('#'+fieldName).css("border-style","");//.css("background-color","green");
  82. }
  83. }</pre>
  84. <p></p>
  85. <p><br>
  86. </p>
  87. <pre></pre>
  88. <pre></pre>
  89. <pre></pre>
  90. <pre></pre>
  91. <pre></pre>
  92. <pre></pre>
  93. <pre></pre>
  94. </pre>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics