struts2 iterator 取request值时出现不对的结果

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:46:40
java代码
public class TestRequest extends ActionSupport implements ServletRequestAware {

private HttpServletRequest request;
@Override
public String execute() throws Exception {
request.setAttribute("mm", "mm");
request.setAttribute("张三", 200);
request.setAttribute("李四", 500);
return SUCCESS;
}
public void setServletRequest(HttpServletRequest request) {

this.request = request;
}

}
struts2.xml
=========
<package name="mypackage" extends="struts-default">
<action name="test" class="com.tan.TestRequest">
<result name="success">myrequest.jsp</result>

</action>
</package>
myrequest.jsp
=============
<s:debug></s:debug>
<s:iterator value="#request">
<s:property valu

java里改成:
public String execute() throws Exception {
Map myMap = new HashMap();
myMap.put("mm", "mm");
myMap.put("张三", 200);
myMap.put("李四", 500);
request.setAttribute("myMap", myMap);
return SUCCESS;
}

jsp改成:
<s:debug></s:debug>
<s:iterator value="#request.myMap">
<s:property value="key"/><br/>
<s:property value="value" /><br/>
</s:iterator>

试试

就楼主所写的来看,页面输出就应该是那些,因为request中的确有那些值。
这个代码没有测试,但大意就是,把数据存到Map中,在前台迭代的时候,迭代的应该是保存数据的Map,而不应该是request。