昨天用jstl作判断比较,是在servlet定义了一个变量,然后在jsp中作判断,根据
值的不同显示不同的一句提示。原语句是request.setAttributr("type1","photo");但在jsp中用if语句。<c:if test="${requestScope.type1==photo}">却不行。
用test="${requestScope.type1}=='photo'"也不行,
用test="'${requestScope.type1}=='photo'"也不行
用test="${requestScope.type1.equals('photo')}"也不行
用test="${(requestScope.type1).equals('photo')}"也不行
用test="${requestScope.type1}.equals('photo')"也不行
我没办法了, 请教下,这个语句到底怎么写啊?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【youhere1】截止到2008-07-17 09:21:49的历史汇总数据(不包括此帖):
    发帖的总数量:14                       发帖的总分数:700                      每贴平均分数:50                       
    回帖的总数量:157                      得分贴总数量:52                       回帖的得分率:33%                      
    结贴的总数量:14                       结贴的总分数:700                      
    无满意结贴数:1                        无满意结贴分:30                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:7.14  %               无满意结分率:4.29  %                  
    敬礼!
      

  2.   

    还有,EL语句是不是不能取得通过链接传过来的参数,也就是要用request.getParemeter("xxx")取的
    数据,而只能取的用getAttribute得到的数据?
      

  3.   

    test="expression" 这里面应该是表达式 按下面的写试试看<c:if test="${type1 == 'photo'}" scope="request">
      

  4.   

    会不会是${requestScope.type1==photo}中requestScope.type1返回的是Object对象,
    所以无法正常的和String对象做比较?
      

  5.   

    今天问题解决 了 
    实际 上 就是 用<C:if test="${requestScope.type1==photo}">就 行了 。
    原因我也不知道。
    很 郁闷撒,下次有再这样的问题,还是不知道是什么原因。
      

  6.   

    没有equals,只有==或者eq
    <C:if test="${requestScope.type1==photo}">
    这样就行了,我也时参考了楼主的代码
      

  7.   

    <C: if test="${requestScope.type1 eq photo}"
    EL里面取通过连接传过来的值是
    通过属性 param
    连接: test?nameString=bb
    获取: <jsp:useBean id="teacher" class="entity.Teacher" scope="request"/>
          <jsp:setProperty name="teacher" property="name" param="nameString">