方法-:直接在action设置get和set方法,然后在jsp页面中使用iterator迭代输出,但是一定要注意格式。就是被这个格式搞了一下午。
<s:iterator value="list" id="id">
<tr><td><s:property value="#id.number" /></td> //使用标签
<td>${id.name}</td></tr> //使用EL表达式
</s:iterator>
<s:iterator value="list" id="id">
<tr><td><s:property value="#id.number" /></td> //使用标签
<td>${id.name}</td></tr> //使用EL表达式
jsp页面输出的三种方式</s:iterator>
或者是不声明id,直接<s:property value="number" />
方法2:把list存入request中,显示方法和jsp页面相同。但个人认为是多此一举。因为既然struts提供了参数的,我们为什么不利用呢,格式如下:
view plaincopy to clipboardprint?
<s:iterator value="#request.list" > //此处一定要加上#request,表示从栈里面取出该list。也可以设置id,但下面的格式为#id.number。也一定要加#,表示从栈内取值
<tr><td><s:property value="number" /></td>
<td><s:property value="name" /></td></tr>
</s:iterator>
<s:iterator value="#request.list" > //此处一定要加上#request,表示从栈里面取出该list。也可以设置id,但下面的格式为#id.number。也一定要加#,表示从栈内取值
<tr><td><s:property value="number" /></td>
<td><s:property value="name" /></td></tr>
</s:iterator>
哎,最近都是一个小问题能折磨我一天的时间,看来这都是因为我平时学习的时候不仔细,很浮躁。一个东西还没精通,又赶紧学另外一个东西,而且容易钻牛角尖。往往在学一个新东西的时候会因为以前的知识不会,而又回头学以前遗留的重点。这样很浪费时间!以后我要好好安排我的学习计划了,看书也要静下心来,不急于求成~
这个讲iterator的文章还不错:hi.baidu/songjiafeng/blog/item/5b5a6c4bf3375e2b08f7ef71.html
注:1.刚才看了一篇文章是这样说的:我们使用struts2的一些标签,属性是需要接受集合的,如果集合是保存在request,session,或者是值栈(非根对象的栈顶),可以使用#变量名的方式,如果获取的值是在Action中通过特定的方法来获取,就需要使用如 value="userList"这样的方式,只是去掉了前面的#。
2.在struts2标签内部使用的表达式是%{}为OGNL表达式,在JSP页面中可以使用形式为${}为EL表达式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论