我用struts action类在session里放了一个petname,用struts标签在页面上拿不到值,但是用jsp可以拿到,不知道是怎么回事,是和logic:present中的name有关系么?请问这个name应该指什么,谢谢
struts:
<logic:present scope="session" name= "user">
<bean:write name="user" property="petname"/>
</logic:present>jsp:
<%=session.getAttribute("petname")%>

解决方案 »

  1.   

    name 指java bean 
    property属性指定JavaBean的某个属性
      

  2.   

    这样当然取不到,<logic:present>都是套在<logic:iterate id="" name="">里用的,就是循环显示。
    比如
    <logic:iterate id="site" name="list">
    <logic:present name="site">
    <bean:write name="site" property="name" />
    <bean:write name="site" property="date" />
    </logic:present>
    </logic:iterate>
      

  3.   


    试试看:
    <logic:present scope="session" name= "petname">
    <bean:write name="petname"/>
    </logic:present>
      

  4.   

    <%=session.getAttribute("petname")%>
    说明你的session里有petname的值<logic:present scope="session" name= "user">
    <bean:write name="user" property="petname"/>
    </logic:present>
    你必须保证session里有user这个bean,且user这个bean的petname的属性是有值的,才能在页面显示。
      

  5.   

    谢谢各位兄弟,终于弄懂了,原来<logic:present scope="session" name= "user">的user指的是httpsession.setAttribute("user",form)里的“user”,而<bean:write name="user" property="petname"/>的petname指的是formbean里的属性,我大小写弄错了,嘿嘿,马上给分