我想,应该是这个标签库的使用规则就是这样。只可以获得request中attribute的值。

解决方案 »

  1.   

    request.setAttribute("phone",num);把变量保存起来,实现在其它的页面的共享...
    num=request.getAttribute("phone");取出phone中保存的值..
      

  2.   

    <c:out value="${num}"/>作用是输出request中设置的num参数(默认),和你页面定义的没关系。
    去看看表达式语言先吧!
      

  3.   

    表达式的语法应该没错吧。
    我知道
    request.setAttribute("phone",num);把变量保存起来,实现在其它的页面的共享...
    num=request.getAttribute("phone");取出phone中保存的值..
    但我就是不清楚,这个程序中的phone和num之间的关系是什么?phone在这个jsp页面中是属性?还是变量?还是其它什么东西?
    若是直接取出自定义变量的值应该怎么取?一定要setAttribute()吗?
    还请指教。
      

  4.   

    你直接用<%=num%>
    就出来你象要的结果了
    没必要用c:out如果要用的话,就遵循jstl的规则
      

  5.   

    那我这个<c:out value="${num}"/>违反了什么规则,错在哪?肯指教
      

  6.   

    都说了<c:out value="${num}"/>作用是输出request中设置的num参数(默认),不是输出你在JSP中定义的变量;
    想要实现你的功能要先<c:set value=="123-456-789" var="num" />,然后<c:out value="${num}"/>就OK了,JSP脚本和JSTL不是一会事。
    还有request.setAttribute("phone",num);不是页面共享而是请求共享。phone和num是一种映射关系就像HashMap一样,另外phone是request对象的一个属性,和页面无关~~
    <c:out value="${num}"/>语法是没错,但是你不知道取出来的是什么东东,先看看基础吧,OK?