Buttonボタンfromフォームをコミットし、検証した後、データが空になります.

7509 ワード

最近、プロジェクトに4つの同級tableを含むページが追加されました.fromフォームを提出するときに同僚が紹介してくれた方法で、実用的で、ここでDemoを書いて皆さんに共有します.
フロントエンドページの表示:
:            
//       function subForm(){           $.ajax({               type: "POST",               url:'<%=basePath%>test/queryWorker.do',               data:$("#Form").serialize(),               dataType:'json',               cache: false,               success : function(data) {                     if("success" == data.result){                          $("#but").tips({                                side:3,                                msg:' !!!',                                bg:'#AE81FF',                                time:1                          });                          $("#but").focus();                          $("#xh").val('');//                     }               }            })       }  /* */      function checkForm() {       var xh= $("#xh").val();         if (xh== "" || xh== null || xh== undefined) {              $("#xh").tips({                  side:3,                  msg:' !',                  bg:'#AE81FF',                  time:2              });              $("#xh").focus();              return false;/* */         }else{              return subForm();         }

コントロール層:
    @RequestMapping(value="/queryWorker")
    @ResponseBody
    public Object queryWorker() throws Exception{
        PageData pd = new PageData();        
        Map map = new HashMap();
        String errInfo = "";
        pd = this.getPageData();
        //    jsp       
        String xh=pd.get("xh").toString;
        String pd=pd.get("pd").toString;
        errInfo = "success";
        map.put("result", errInfo);
        return AppUtil.returnObject(pd, map);
    }

AppUtilクラス:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.map.util.JSONPObject;

/** 
 *       
 */
public class AppUtil  {
    
    protected static Logger logger = Logger.getLogger(AppUtil.class);
    
    /**        
     * @param method
     * @param pd
     * @return
     */
    public static boolean checkParam(String method, PageData pd){
        boolean result = false;
     
        int falseCount = 0;
        String[] paramArray = new String[20];
        String[] valueArray = new String[20];
        String[] tempArray  = new String[20];  //    
        
        if(method=="registered"){//   
            paramArray = Const.APP_REGISTERED_PARAM_ARRAY;  //  
            valueArray = Const.APP_REGISTERED_VALUE_ARRAY;  //    
            
        }else if(method=="getAppuserByUsernmae"){//           
            paramArray = Const.APP_GETAPPUSER_PARAM_ARRAY;  
            valueArray = Const.APP_GETAPPUSER_VALUE_ARRAY;
        }
        int size = paramArray.length;
        for(int i=0;i0){
            logger.error(method+"  ,        "+falseCount+"    ");
            for(int j=1;j<=falseCount;j++){
                logger.error("    "+j+" :"+ tempArray[j-1]);
            }
        } else {
            result = true;
        }    
        return result;
    }   
    /**
     *        
     * @param pd
     * @return
     */
    public static PageData setPageParam(PageData pd){
        String page_now_str = pd.get("page_now").toString();
        int pageNowInt = Integer.parseInt(page_now_str)-1;
        String page_size_str = pd.get("page_size").toString(); //       
        int pageSizeInt = Integer.parseInt(page_size_str);
        String page_now = pageNowInt+"";
        String page_start = (pageNowInt*pageSizeInt)+"";
        pd.put("page_now", page_now);
        pd.put("page_start", page_start);
        return pd;
    }
    
    /**  list  distance
     * @param list
     * @param pd
     * @return
     */
    public static List  setListDistance(List list, PageData pd){
        List listReturn = new ArrayList();
        String user_longitude = "";
        String user_latitude = "";
        try{
            user_longitude = pd.get("user_longitude").toString(); //"117.11811";
            user_latitude  = pd.get("user_latitude").toString();  //"36.68484";
        } catch(Exception e){
            logger.error("    --user_longitude user_longitude");
            logger.error("lost param:user_longitude and user_longitude");
        }
        PageData pdTemp = new PageData();
        int size = list.size();
        for(int i=0;i

PageDataクラス:
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
/** 
 *   :    Map
 */
public class PageData extends HashMap implements Map{
    
    private static final long serialVersionUID = 1L;
    
    Map map = null;
    HttpServletRequest request;
    public PageData(HttpServletRequest request){
        this.request = request;
        Map properties = request.getParameterMap();
        Map returnMap = new HashMap(); 
        Iterator entries = properties.entrySet().iterator(); 
        Map.Entry entry; 
        String name = "";  
        String value = "";  
        while (entries.hasNext()) {
            entry = (Map.Entry) entries.next(); 
            name = (String) entry.getKey(); 
            Object valueObj = entry.getValue(); 
            if(null == valueObj){ 
                value = ""; 
            }else if(valueObj instanceof String[]){ 
                String[] values = (String[])valueObj;
                for(int i=0;i

皆さんのコメントを歓迎します.