我做一个程序,用session.getAttribute()取值,带有#号的字符串老出错。  
例如:  
String  str='asd123#'  
session.setAttribute("a",str);  
String    str1=session.getAttribute("str");就会报错  
 
java.lang.NullPointerException    我查了下说是取出来的是NULL值所以报错。  
 
把#去了就好了  
 
#在session中不能用吗?  
 
大家指点下,谢谢了  

解决方案 »

  1.   

    String str='asd123#'
    session.setAttribute("a",str);
    String str1=session.getAttribute("str");这么低级的错误也犯。
      

  2.   

    lz太粗心。 <%
    String str = "asd123#";
    session.setAttribute("a", str);
    String str1 = (String) session.getAttribute("a");
    out.println(str1);
    %>
      

  3.   

    楼上的朋友,我只是随便写了个例子,只是想问下#在session中有没有什么特殊的意思
      

  4.   

    java.lang.NullPointerException 
    这种报错是提示session取值是空吗?
      

  5.   

    我的一个程序里面没有带#号的都很正常,带#号就抛出错误java.lang.NullPointerException
      

  6.   

    <%
    String str = "#################";
    session.setAttribute("a", str);
    String str1 = (String) session.getAttribute("a");
    out.println(str1);
    %>页面输出:################# 应该是lz的代码写的有问题。
    如果是url问号传参时就不能带#
      

  7.   

    javaboy2006(喝着coffee学java) ,谢谢了,我的就是url问号传参的出现问题,有什么好的解决办法吗?
      

  8.   

    如果要传递#给url的话,把url中的#替换成%23试试?
      

  9.   

    利用URL传参时,应注意:
    1、不要使用空格,有些浏览器在检测到空格时,会将URL截断。
    2、不要使用特殊字符,如 &,?,.,和#。lz就用其他办法传参吧,比如:
    request.setAttribute("aaa","##&##.##?");
    session.setAttribute("bbb","##&##.##?");