request.getParameter获得竟然为NULL???!!
我在serverlet里面传值到jsp页面,serverlet里面明显有那个值,但是传出来它竟然显示为空,是什么原因呢?
代码如下:serverlet:
Java code
String ue=request.getParameter("text_UserEmail");//取得到这个值
new SendEmail().send(ue); //这个方法也能够发送邮件,说明字符串存在。
request.setAttribute("usr-email", ue);//发送字符串到页面
request.getRequestDispatcher("zhuce2.jsp").forward(request,response );//跳转到哪个页面。
换成session也试过,出错。
下面是jsp里面获得的代码:
HTML code
您的信息已经成功提交,激活链接已发送到您的邮箱
<em id="usr-email" value="aa;" style='color:#f00; font-style:normal;'>
<%=request.getParameter("usr-email")%>
</em>.
然后浏览器打开页面,,邮件都发送过去了的,但是页面显示不出来那个字符串。
本来想弄成那种加密显示的 就是那种 “已发送至您的邮箱 *********@XXX.com的,可是不知道怎么写,小弟菜鸟。
大哥些能解决我上面的问题我就感激涕零,如果能把后面的问题也一并解决,那我就五体投地了。。。
求来来往往的大哥们给点执教。。。。。
------解决方案-------------------- request.setAttribute("usr-email", ue);//发送字符串到页面
这不之前 把UE打印出来看看
request.getRequestDispatcher("zhuce2.jsp").forward(request,response );
你整个跳转 我真想你没用过
是不是因为重定向了所以request过去才没有东西的
问题2
如果上面整个问题解决了
你在类中做处理的时候就把ue处理掉
只输出@后面的东西,前面的***号可以写在页面上 也可以在类里拼好输出来
*********@XXX.com
------解决方案--------------------把你的jsp的代码换成如下:
<em id="usr-email" value="aa;" style='color:#f00; font-style:normal;'>
<%=request.getAttribute("usr-email")%>
</em>.
至于你想弄的那种 “已发送至您的邮箱 *********@XXX.com” 只需要你把对方邮箱也在serverlet里setAttribute()进去,在页面取出来再,进行展示就行了! 和你上面那个一样!
------解决方案--------------------以上说的挺清楚的了,先把String ue=request.getParameter("text_UserEmail");//取得到这个值
打印出来看看,确定真的有值,很重要一点是:
你是用 request.setAttribute("usr-email", ue);这样来赋值的,
而你却用<%=request.getParameter("usr-email")%>这样来取值,肯定是null值;
应该用:<%=request.getAttribute("usr-email")%>
至于你要实现*********@XXX.com这种,用字符串截取的方式也可以,获取到@前的字符长度给出对应长度的*,@与.之间也是一样的!
祝你好运咯!
------解决方案-------------------- request.setAttribute("usr-email", ue);//发送字符串到页面
<%=request.getParameter("usr-email")%>
你仔细看看这两句话,有什么问题吗?发现了吧?发现了就改吧
------解决方案--------------------
String ue=request.getParameter("text_UserEmail");//取得到这个值
String secureEmail = ue.replaceAll(ue.substring(0,ue.indexOf("@")), "xxxxxxxxxxx");