Changes between Version 269 and Version 270 of pcauto_4.0.0/interface


Ignore:
Timestamp:
11/08/2013 05:21:10 PM (12 years ago)
Author:
yangmengjun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pcauto_4.0.0/interface

    v269 v270  
    1414     
    15153.接口默认的字符编码是UTF-8,接口需要实现对req_enc和resp_enc参数的支持。在JSP的最顶部,实现类似下面的代码: 
    16  
    17         String queryString = request.getQueryString(); 
    18         String requestEncoding = getParam(queryString,"req_enc"); 
    19         String responseEncoding = getParam(queryString,"resp_enc"); 
    20         if(isNotBlank(requestEncoding)){ 
    21             request.setCharacterEncoding(requestEncoding); 
     16注意:需要用getQueryString(),不能用getParameter() 
     17String queryString = request.getQueryString(); 
     18String reqEnc = getQueryValue(queryString,"req_enc="); 
     19if(reqEnc!=null){ 
     20    request.setCharacterEncoding(reqEnc); 
     21} 
     22String respEnc = getQueryValue(queryString,"resp_enc="); 
     23if(respEnc!=null){ 
     24    //out.println(respEnc); 
     25    response.setCharacterEncoding(respEnc); 
     26} 
     27String getQueryValue(String queryString,String key){ 
     28    if(queryString==null || queryString.length()==0)return null; 
     29    int reqIdx = queryString.indexOf(key);//req_enc=utf-8&resp_enc=gbk 
     30    if(reqIdx!=-1){ 
     31        reqIdx = reqIdx+key.length(); 
     32        int endIdx = reqIdx; 
     33        for (;  
     34        endIdx < queryString.length() && queryString.charAt(endIdx)!='&';  
     35        endIdx++) { 
    2236        } 
    23         if(isNotBlank(responseEncoding)){ 
    24             response.setCharacterEncoding(responseEncoding); 
     37        if(endIdx>reqIdx){ 
     38            return queryString.substring(reqIdx,endIdx); 
    2539        } 
     40    } 
     41    return null; 
     42} 
    2643 
    27444.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。