本人刚学习SSH不久,先使用struts+hibernate做了一个小练习。
程序运行正常,可是MyEclipse中jsp文件夹部分总是会出现一个小红叉,系统提示“}”不匹配。
可是,在下查看了好几遍,“{}”是匹配的。
然后,就试着做了几个假设,发现将代码中的(如下所示)
<logic:equal name="dept" property="mgrId" value="暂无管理员">
    <font color="red">暂无管理员</font>
</logic:equal>

<%
 List empList=(List)request.getAttribute("empList");
 if(empList!=null&&empList.size()>0){
%>
<logic:iterate id="emp" name="empList">
  <logic:equal name="dept" property="mgrId" value="${emp.id }">
    ${emp.name }
  </logic:equal>
</logic:iterate>
<%
}else{
 %>
<font color="red">暂无</font>
<%
}
 %>
剪切掉,小红叉就消失了。
我就试着又新建了一个jsp文件来进行测试,发现并未报错。
这时,我就很费解了。
不知道大家有没有出现过类似的情况,
希望大家和我一块儿分析一下,为我指点迷津。呵呵,先行谢过了。

解决方案 »

  1.   

    常有的事.
    myeclpise不是很智能,标签套标签它就认不出了.
      

  2.   

    显示问题,你把JSP文件关了重打开应该正常的.
      

  3.   

    恩,我试了一下,不过好像没效果啊。MyEclipse老是报原来的那个错误。
      

  4.   

    jsp验证会有这样的问题的,你只要能显示出结果就可以了,非要没叉吗!再说你这是jsp编程了,那是struts,反正我要是用struts的肯定不在页面这样写,维护难死了!
      

  5.   

    JAVA混合标签 你不怕乱? 明明标签支持验证的嘛..<logic:equal name="dept" property="mgrId" value="暂无管理员"> 
        <font color="red">暂无管理员 </font> 
    </logic:equal> <logic:empty name="empList" scope="request">
      <font color="red">暂无 </font> 
    </logic:empty>
    <logic:notEmpty name="empList" scope="request">
      <logic:iterate id="emp" name="empList"> 
        <logic:equal name="dept" property="mgrId" value="${emp.id }"> 
          ${emp.name } 
        </logic:equal> 
      </logic:iterate> 
    </logic:notEmpty>
      

  6.   

    eclipse有时候会出现这种问题,第一次没有匹配,出现红叉,然后你改了之后,偶尔会反应不过来,还是报错,然后,剪切再粘贴,错误就没了!
      

  7.   

    要么关了 重启  要么 ctrl+a  ctrl+c  ctrl+v   一般就ok了