- <prename="code"class="java">/**
- *通过读取流程对应工单的字段权限将字段权限拼接为json格式字符串
- *拼接json字符串格式:
- *[{"fieldNane":"name1","fieldRight":"right1"},{"fieldNane":"name2","fieldRight":"right2"},...{"fieldNane":"name3","fieldRight":"right3"}]
- *@paramlist
- *@return
- */</pre>
- <pre></pre>
- <prename="code"class="java">publicStringappend2Json(Listlist){
- StringBuffersb=newStringBuffer("[");
- for(inti=0;i<list.size();i++){
- FwtActionRightfarObj=(FwtActionRight)list.get(i);
- StringfieldName=farObj.getFieldName().toLowerCase();
- StringfieldRight=farObj.getFieldRight().toLowerCase();
- sb.append("{\"fieldName\":\"");
- sb.append(fieldName);
- sb.append("\",\"fieldRight\":\"");
- sb.append(fieldRight);
- sb.append("\"");
- sb.append("},");
- //最后一个元素的右边大括号'}'后不添加','
- if(i==list.size()-1){
- sb.append("{\"fieldName\":\"");
- sb.append(fieldName);
- sb.append("\",\"fieldRight\":\"");
- sb.append(fieldRight);
- sb.append("\"");
- sb.append("}");
- }
- }
- sb.append("]");
- Stringstr=sb.toString().replaceAll("\"","%22");//避免js获取此字符串时被双引号(")截断
- //Stringstr=sb.toString().replaceAll("\"","%27");避免js获取此字符串时被单引号(')截断
- returnstr;
- }</pre><br>
- 2.获取表单字段对应的权限,将其拼接为json格式的字符串,并且将其值传到页面<br>
- <prename="code"class="java">/**
- *显示‘现场检查’步骤--填单页面
- *@parammapping
- *@paramform
- *@paramrequest
- *@paramresponse
- *@return
- *@throwsException
- */
- publicActionForwardshowAddNPatrolOrder_localeCheck(ActionMappingmapping,ActionFormform,
- HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
- StringactionName="现场检查";
- StringflowName="设备巡维工作联系单";
- StringtableName="MAP_HISTORY_NPATROL";
- Listlist=swfBiz.getFwtActionRights(actionName,tableName,flowName);
- //拼接json格式的字符串
- StringjsonStr=this.append2Json(list);
- request.setAttribute("elementJson",jsonStr);
- returnmapping.findForward("success");
- }
- </pre>
- <p><br>
- </p>
- <p>3.jsp页面上的json格式字符串值</p>
- <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>
- <pre></pre>
- <p></p>
- <pre></pre>
- <prename="code"class="html"style="background-color:rgb(255,255,255);">4.jsjQuery取页面上的json字符串格式值,并将其解析,转为json数据类型,然后根据不同字段的权限,写入其相应的格式。
- </pre><prename="code"class="java">/**
- *显示‘现场检查’页面
- */
- varelementList=$('#elements').val();
- elementList=unescape(elementList);//解析双引号、单引号
- varjson=eval('('+elementList+')');//json格式字符串转为json数据类型
- for(vari=0;i<json.length;i++){
- varfieldName=json[i].fieldName;
- varfieldRight=json[i].fieldRight;
- if(fieldRight=='r'){//r--只读
- $('#'+fieldName).attr("readonly","");
- $('#'+fieldName).attr("readonly","readonly");
- $('#'+fieldName).css("border-style","none");//.css("background-color","red");
- }elseif(fieldRight=='w'){//w--可写
- $('#'+fieldName).attr("readonly","");
- $('#'+fieldName).css("border-style","");//.css("background-color","green");
- }
- }</pre>
- <p></p>
- <p><br>
- </p>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- </pre>
拼接json字符串
最新推荐文章于 2024-07-04 19:57:04 发布