如果   ddd  = str.length()>20?str.subString(0,20)+"……":str;看明白了吧
如果长度大于20截取字符串否则  直接输出

解决方案 »

  1.   

    if(str.length()>20)
      {
        str=str.substring(0,20)+"...";
      }
    这样就可以了
      

  2.   

    nod,你也可以试着写成通用的函数,传递参数为:截取字符数(20),代替的字符(“”)
      

  3.   

    给你个函数:
    /**
       * 截取字符串长度
       * @param String str - 原始字符串
       * @param int length - 要截取的长度
       * @return String -
       */
      public static String stringLength(String str ,int length) {
        int lengthCount  = str.length();
        int strLength = str.length();
        int m_length = length;
        try {
          for (int i = 0; i < lengthCount; i++) {
            char c = str.charAt(i);
            if (c >= 256) {
              length++;
              strLength++;
            }
          }
          if (strLength > length) {
            str = str.substring(0, m_length) + "...";
          }
        } catch(Exception e) {
          Debug.debug(HTMLHelper.class ,"stringLength" ,e);
        }
        return str;
      }
      

  4.   


    Class A{
    public String getstr(String oldstr){ 
    if oldstr!=null?oldstr.length>10?oldstr.subString(0,2)+"……":oldstr
     }
    return oldstr;
    }<span title="<%=oldstr%>"><%=A.getStr(str)%></span>