拼接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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值