我jsp菜鸟,在网上下载了一个jsp源码,但是运行后发现在进入主页的时候 主页里用EL表达式输出的项目都没有输出
比如这段代码:
           <c:forEach var="flag" items="${specialList}">
            <div class="feat_prod_box">
             <div class="prod_img"><a href="showBookByIdServlet?bookId=${flag.bookId}"><img src="${flag.picture}" alt="" title="" border="0" /></a>
              <p class="price">原价:¥${flag.price}</p>
                 <p class="nowPrice">现价:¥${flag.nowPrice}</p>
             </div>
                <div class="prod_det_box">
                 <div class="box_top"></div>
                    <div class="box_center">
                    <div class="prod_title">内容简介</div>
                    <p class="details">${flag.introduce}</p>
                    <a href="page?type=4" class="more">- 更多 -</a>
                    <a href="showBookByIdServlet?bookId=${flag.bookId}" class="more">-详细-</a>
                    <div class="clear"></div>
                    </div>
                    
                   <div class="box_bottom"></div>
                </div>    
            <div class="clear"></div>
            </div>
            </c:forEach>因为在加载这个主页的时候确实没有数据库访问。然后当我点击注销后,连接一个servlet后就能获取EL表达式中的值了
这个servlet是:
public class UserLoginOut extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getSession().invalidate();
request.getSession().setAttribute("LoginOutMessage", "注销成功");
request.getRequestDispatcher("index").forward(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { }}所以我就不明白了,这是为什么啊?求高手解决。还有如果我想在加载index.jsp的时候就输出EL表达式该如何做呢?

解决方案 »

  1.   

    涉及到的 java类 有么?
    看下吧
      

  2.   

    items="${specialList}">
     这个里面有值?
      

  3.   

    直接进jsp主页当然没值,
    如果从servlet转到jsp,请先给 specialList 赋值
      

  4.   

    不连接SERVLET
    <c:forEach var="flag" items="${specialList}">
    哪里来的值啊, 我觉得specialList没值导致的
      

  5.   


    他连接一个servlet后就能获取EL表达式中的值了能没导入吗?
      

  6.   

    是啊,我连接下边那个servlet后就能显示那些值了,而且那个servlet没有做什么处理,所以我就不明白了。
      

  7.   

    最好在Servlet里设置个断点调试一下看看
      

  8.   

        确实,我也没看到你代码里面有${specialList}值,你根本没设这个值。页面肯定出不来撒~~~还搞个循环......有啥用啊????
      

  9.   

    先要去servlet 里面把值先那出来、。、、、、
      

  10.   

    那为什么连接一个servlet后那些值就赋上了呢?那个servlet也没有做什么处理啊。
      

  11.   

    +1 应该从SERVLET获得数据后,在jsp上使用el表达式显示。
      

  12.   

    连接的那个servlet我也贴出来了,你们也能看到,没有做什么处理啊。返回后就有值了。
      

  13.   

    为什么连接那个servlet后就行了呢,那个servlet也没有做什么处理啊
      

  14.   

    各位大侠们,我知道EL表达式里的量是通过servlet赋值上的,但是我那个servlet没有做什么处理啊 然后有值了,所以我想问下 会不会是过滤器之类的使它连接到了另一个它的servlet上了。
      

  15.   

    发现问题了,哎,自己真2.那个注销的logoutservlet跳转的是index,index是一个servlet,之前一直以为是首页呢,哎 首页怎会没有.jsp呢。多谢各位的解答。