struts1.x的logic:iterate标签为什么能和java混用? 就是iterate 标签的id属性可以直接当做一个变量。 10

为什么按照以下写法是可以的呢?就是iterate标签的id属性可以直接当做一个变量,如下代码:我没在jsp中定义过"u“这个变量。我看了iterate标签的源码,但是没有... 为什么按照以下写法是可以的呢?就是iterate 标签的id属性可以直接当做一个变量,如下代码:我没在jsp中定义过"u“这个变量。我看了iterate 标签的源码,但是没有看到定义变量的地方。
<logic:iterate id="u" name="userlist" type="com.employee.User">
<% =u.getAge()%>
</logic:iterate>
展开
 我来答
匿名用户
2013-04-07
展开全部
struts后台处理完,再返回的

没看到定义的地方,说明你还没看完全
追问
您知道是哪段代码定义的吗? 我看的是Iterate标签源码,也就是IterateTag.java的源码,找不到有定义变量的地方。
不在回味不在
2013-04-07 · TA获得超过111个赞
知道答主
回答量:230
采纳率:0%
帮助的人:96.6万
展开全部
<% =u.getAge()%> 这个是java表达式 u这个对象应该是从jsp页面的隐含对象上获得
跟iterator标签的id属性没有关系吧 iterator只是起到迭代的作用把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
carterking1114
2013-04-07
知道答主
回答量:4
采纳率:0%
帮助的人:3万
展开全部
标签最后会在JSP的编译时转化成Servlet代码,所以<iterrate>会变成 for循环,u就是for循环中的变量了~~在for的作用域里,都是有效的~~
追问
iterrate标签是怎么变成for循环的?我看了Iterate标签源码也没找到定义的地方。
追答

我手上只有el表达式的例子,

虽然foreach的class里面没有for的循环,但是它在处理的时候,就会把事情处理好,你把begin、step、items 都输入了,它就可以干活了,你可以看看这个jsp编译后的servlet的class文件,反编译一下看看代码,就可以看到标签的地方变成了 for循环,去遍历你的items

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式