新增下方的Code: (POST的方式),在GenericResources內

@POST
    @Path("setBtnInfo")
    @Consumes(MediaType.APPLICATION_JSON)
    public Response setBtnInfo(String input) {
        //TODO return proper representation object
        
        InputOutputHandler handler=new InputOutputHandler();
        
        String p1=handler.getJsonObj(input,"p1");
        String p2=handler.getJsonObj(input,"p2");
        
        String p3=handler.getJsonObj(input,"p3");
        String p4=handler.getJsonObj(input,"p4");
        
        String p5=handler.getJsonObj(input,"p5");
        String p6=handler.getJsonObj(input,"p6");
              
              
        ArrayList<String> arr=new ArrayList<>();        
        arr.add(p1);
        arr.add(p2);
        
        String result=handler.changeToXMLString(arr);
        
        //String rs="<Test><T><p1>12345</p1></T></Test>";
        
        return Response.status(200).entity(result).build();
    }

 

 

InputOutputHandler的Code:

package test;

import java.sql.SQLException;
import java.util.ArrayList;
import javax.sql.rowset.CachedRowSet;
import org.json.JSONException;
import org.json.JSONObject;

/**
 *
 * @author USER
 */
public class InputOutputHandler {
    

//取得送入的Json參數內容


             public String getJsonObj(String JsonSourceString,String tagName){
         
         JSONObject j=null;
         Object jsonOb=null;
         
    try {
            String tmp =JsonSourceString;

             j = new JSONObject(tmp);
             
             //getString是取json的內容值
             //取節點是用 j.getJSONObject(tmp)  或getArray...
             jsonOb = j.getString(tagName);
           
            System.out.println("取得Json物件:>>>"+jsonOb);

        }catch(JSONException e){
            
        System.err.println("Error: " + e.getMessage());
        
         }
         return String.valueOf(jsonOb);
         
     }

 

   //把內容組成XML後回傳    


    public String changeToXMLString(ArrayList<String> content){
        
        ////String rs="<Test><T><p1>12345</p1></T></Test>";
        
        
        String start="<vsvs><T>";
        
        String cont="";
        
        int i=0;
        
        for(String str:content){
            
            i++;                  
            cont=cont+"<p"+i+">"+str+"</p"+i+">";
                       
        }
        
        
        String end="</T></vsvs>";
        
        String result=start+cont+end;
        
        return result;
        
    }      
     

  //從資料庫取資料並組成XML後回傳       
             
     //把ResultSet組成二階層Json字串
     // demo     {"AA":{"p1":"01","p2":"01"},"BB":{"p1":"01","p2":"01"}}
     public String changeToXMLString(CachedRowSet inputRs,String... columnName){
         
   
             String ans="<vsvs>";
             int i=0;
         try {
             //ans=ans+"{\"";
             while(inputRs.next()){
                 
                 ArrayList<String> list=new ArrayList<>(); //用來存放每一列的資料
                                
                 for(String name : columnName){
                 //String groupName=inputRs.getString("groupName");
                    String  content=inputRs.getString(name);
                    list.add(content);
                            
                 }
                 
                 i++;
                 //組XML
                 
                 ans=ans+"<E"+i+">";
                 int j=0;
                 //------迴圈----
                 for(String data :list){
                     j++;
                     ans=ans+"<p"+j+">"+data+"</p"+j+">";
                         
                 }
                         
                  //--------------       
                  ans=ans+"</E"+i+">";
                          
                   }
                   //--------------
             ans=ans+"</vsvs>";
             //記得去掉一個尾端的,最後再加上一個}
              //  ans=ans.substring(0,ans.length()-1);
               // ans=ans+"}";
     
         } catch (SQLException ex) {
             
         }
         
         return ans;
         
       
     }
}

建完之後可以用Test來先測試一下。

如果測試OK,但連線時一直跳出404,通常都是URL錯了,有時看起來是正確的,但有可能在複製貼上時黏上了一些看不見的字元在內。

 

arrow
arrow
    全站熱搜

    vsvs 發表在 痞客邦 留言(0) 人氣()