struts的equal标签的value属性怎么引用一个对象的某个属性值
有article和types这两个变量,前者是一个HashMap,里面装了一篇文章的键值映射,后者是一个List<HashMap>集合,每个HashMap装了一个文章类型...
有article和types这两个变量,前者是一个HashMap,里面装了一篇文章的键值映射,后者是一个List<HashMap>集合,每个HashMap装了一个文章类型的键值映射。并在Action中用request.setAttribute()将这两个对象添加到reqeust作用域中。
现在的问题是:在jsp页面上我要遍历types列表,取出它之中的每一个type对象,并比较这个type对象的tname(类型名称)属性是否与request作用域中的article所属的文章类型tname相同,若相同就做一些操作。按我的理解是像下面这样写:
<logic:present name="types" scope="request">
<logic:notEmpty name="types" scope="request">
<logic:iterate id="type" type="java.util.HashMap" name="types" scope="request">
<logic:equal value="<bean:write name="type" property="tname"/>" name="type" property="tname">
<!-- 一些操作 -->
</logic:equal>
</logic:iterate>
</logic:notEmpty>
</logic:present>
可是这样写运行时会出错,原因是logic:equal标签的value属性中的值不能引用<bean:write>标签输出的值,也就是说equal标签中的value属性的值不能嵌套标签。
我知道可以使用<% =article.get("tname")%>来做。但现在我就是想知道怎么使用struts中的标签来实现上面的业务。
请前辈们指教!!(不是小气不给分,是我把分都用光了,请大家见谅啊~)
上面equal标签中嵌套的那个标签写错了,我想写的是<bean:write name="article" property="tname" /> 展开
现在的问题是:在jsp页面上我要遍历types列表,取出它之中的每一个type对象,并比较这个type对象的tname(类型名称)属性是否与request作用域中的article所属的文章类型tname相同,若相同就做一些操作。按我的理解是像下面这样写:
<logic:present name="types" scope="request">
<logic:notEmpty name="types" scope="request">
<logic:iterate id="type" type="java.util.HashMap" name="types" scope="request">
<logic:equal value="<bean:write name="type" property="tname"/>" name="type" property="tname">
<!-- 一些操作 -->
</logic:equal>
</logic:iterate>
</logic:notEmpty>
</logic:present>
可是这样写运行时会出错,原因是logic:equal标签的value属性中的值不能引用<bean:write>标签输出的值,也就是说equal标签中的value属性的值不能嵌套标签。
我知道可以使用<% =article.get("tname")%>来做。但现在我就是想知道怎么使用struts中的标签来实现上面的业务。
请前辈们指教!!(不是小气不给分,是我把分都用光了,请大家见谅啊~)
上面equal标签中嵌套的那个标签写错了,我想写的是<bean:write name="article" property="tname" /> 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询