如何实现将在文本框输入的200511 自动变成2005-11?????
我写的以下程序 可是 一刷新 就说有 空值 NULLPOINTER…………
String kpny1 =request.getParameter("kpny1");
  kpny1=kpny1.substring(0,4) + "-" +kpny1.substring(4,6); 
String kpny2 = request.getParameter("kpny2");
 kpny2=kpny2.substring(0,4) + "-" +kpny2.substring(4,6);

解决方案 »

  1.   

    如果不提交的话可以用javascript来实现,写个script,通过文本框的onchange来处理;
    如果提交的话可以用个bean,在bean中写个方法,传回的值为String
      

  2.   

    function formatDateTime(control)
    {
      k =  window.event.keyCode;
      if(k!=8 && k!=13 && k!=37 && k!=46)
      {
      var nLength = control.value.length;
      switch(nLength)
      {
        case 4:
        case 7:
          control.value=control.value + "-";
          break;
        case 10:
          control.value=control.value + " ";
          break;
        case 13:
          control.value=control.value + ":";
          break;
        case 16:
          control.value=control.value + ":00";
          break;
      }
      }
    }
    我这个是输入的时候自动生成中间的 - 
    不知道你是不是这个需求
      

  3.   

    在Java中间利用SimpleDateFormat就是了
      

  4.   

    如何实现将在文本框输入的200511 自动变成2005-11?????
    我写的以下程序 可是 一刷新 就说有 空值 NULLPOINTER…………
    回复:
    你可以作个错误判断或者用try{..}catch{..}截获一下:
    String kpny1 =request.getParameter("kpny1");
    try{
      kpny1=kpny1.substring(0,4) + "-" +kpny1.substring(4,6); 
    }catch(Exception err1){
      kpny1="";
    }
    String kpny2 = request.getParameter("kpny2");
    try{
      kpny2=kpny2.substring(0,4) + "-" +kpny2.substring(4,6);
    }catch(Exception err2){
      kpny2="";
    }
      

  5.   

    如何实现将在文本框输入的200511 自动变成2005-11?????
    我写的以下程序 可是 一刷新 就说有 空值 NULLPOINTER…………
    String kpny1 =request.getParameter("kpny1");
    kpny1=kpny1.substring(0,4) + "-" +kpny1.substring(4,6);
    String kpny2 = request.getParameter("kpny2");
    kpny2=kpny2.substring(0,4) + "-" +kpny2.substring(4,6);
    ---------------------------------------------------------
    如果要解决 一刷新 就说有 空值 NULLPOINTER的问题, 把处理完的字符放到session中,用session变量来渲染页面