logic:iterate 嵌套使用

其實struts標簽是不能夠嵌套的;
例一:<logic:iterate   id="cl"   name="Ids">   //循环取得id  
             //比较beanname中的id是否和cl中的id相同,如果相同就显示cl中的name      
              <logic:equal   name="beanname"   property="id"   value="<bean:write   name="cl"   property="id"/>">      
                  <bean:write   name="cl"   property="name"/>  
              </logic:equal>  
        </logic:iterate>  
        紅色文字區就是錯誤的嵌套了,這樣是得不到想要的結果的,可改爲
        <logic:iterate   id="cl"   name="Ids">   //循环取得id  
              <bean:define   id="temId"   name="cl"   property="id"   type="java.lang.String"/>  
              //比较beanname中的id是否和cl中的id相同,如果相同就显示cl中的name
              <logic:equal   name="beanname"   property="id"   value="<%=temId%>">      
                    <bean:write   name="cl"   property="name"/>  
              </logic:equal>  
        </logic:iterate>  
        這樣先定義,后使用,就ok了。
例二:<html:submit   value="<bean:message   key="welcome.login"   bundle="base"/>"/>
         應該為
         <html:submit>  
              <bean:message   key     =   "welcome.logon"   bundle   =   "base"/>  
         </html:submit>


  <logic:present name="grouplist" scope="request">
        
        <logic:iterate id="sgroup" name="grouplist">
           <bean:define id="temId" name="sgroup" property="groupid" type="java.lang.Integer"/>
          
<%String tem=String.valueOf(temId); %> //int必须转化成String 才可以进行以下的比较,否则报错
           <logic:equal name="users" property="groupid" value="<%=tem %>"><bean:write name="sgroup" property="name"></bean:write></logic:equal>
        </logic:iterate>
      </logic:present>

你可能感兴趣的:(html,bean,String,struts)