我的JSP页面内容如下: <logic:empty name="name"> 
<b:message key="back.show" /> 
</logic:empty> <logic:notEmpty name="name"> 
<b:message key="back.show2" /> 
</logic:notEmpty> 跳转到这个页面的 Action 里面有这样一句:     request.setAttribute("name", name); 请问我的消息为什么不能显示(在不用 logic 标签时消息可以显示),这个标签该怎么用啊??? ................

解决方案 »

  1.   

    <logic:present name="name"> 
    <b:message key="back.show" /> 
    </logic:present> 
    <logic:notPresent name="name"> 
    <b:message key="back.show2" /> 
    </logic:notPresent> 
    这句话是判断name在作用域中是否存在 
    <logic:present name="name"> 
    这句话是判断name在提交的参数中是否存在 logic标签是很少用的,用标准标签库中的完全可以替代的
      

  2.   

    楼上好像没看清楚啊,我用的是 <logic:empty> 而不是 <logic:present>
      

  3.   

    <logic:empty>空的话,就执行<logic:empty></logic:empty> 
      

  4.   

    <html:hidden property="id" /><logic:empty property ="id"> 
    <b:message key="back.show" /> 
    </logic:empty> <logic:notEmpty property ="id"> 
    <b:message key="back.show2" /> 
    </logic:notEmpty> 
    设置一个隐藏域id,如果有值的话,就会执行<logic:notEmpty property ="id"> </logic:notEmpty>
    如果没值的话就执行 <logic:empty property ="id"> </logic:empty> 
      

  5.   

    首先把name的值打印在页面是试试,看看是不是真的有值,还是“”还是null
    如果有值
    把scope属性加上试试,我的User_Info是放在session中的,下面的就好用
    <logic:empty name="User_Info" scope="session">
    <logic:forward name="gotoDispath" />
    </logic:empty>