当前位置: 代码迷 >> Java Web开发 >> struts2中request传值有关问题
  详细解决方案

struts2中request传值有关问题

热度:1230   发布时间:2016-04-10 22:43:16.0
struts2中request传值问题
管理员登录到这个页面
${session.rmadmin.adminname }登录成功
<h1>管理菜单</h1>
<a href="../user/findAll">客户管理</a>
通过链接到
<action name="findAll" class="com.rm.action.UserAction" method="findAll">
<result name="success">/WEB-INF/user/listuser.jsp</result>
</action>
这个是Useraction
这是UserAction中的查找所有用户
public String findAll(){
List<User> list=userService.findAll();
if(list!=null){
System.out.println(list);
}
request.put("list", list);
return SUCCESS;
}
listuser页面
<s:iterator value="#request.list" id="us">
<tr>
<td><s:property value="#us.username"/></td>
<td><s:property value="#us.phone"/></td>
<td><s:property value="#us.email"/></td>
<td><a href="deleteUser.action?id=%{#us.id}">删除</a></td>
<td><a href="updateUser.action?id=%{#us.id}">修改</a></td>
</tr>
</s:iterator>
主要就是三个property标签中值取不出来,请问哪里错了吗?
------解决方案--------------------
<s:iterator value="#request.list" id="us">
<tr>
<td><s:property value="#us.username"/></td>
<td><s:property value="#us.phone"/></td>
<td><s:property value="#us.email"/></td>
<td><a href="deleteUser.action?id=%{#us.id}">删除</a></td>
<td><a href="updateUser.action?id=%{#us.id}">修改</a></td>
</tr>
</s:iterator>

修改为

<c:forEach items="${list}" var="us" varStatus="i"> 
<tr>
<td>${us.username}</td>
<td>${us.phone}</td>
<td>${us.email}</td>
<td><a href="deleteUser.action?id='${us.id}'">删除</a></td>
<td><a href="updateUser.action?id='${us.id}'">修改</a></td>
</tr>
</c:forEach>

------解决方案--------------------

<s:iterator value="list" id="us">
<tr>
<td><s:property value="#us.username"/></td>
<td><s:property value="#us.phone"/></td>
<td><s:property value="#us.email"/></td>
<td><a href="deleteUser.action?id=%{#us.id}">删除</a></td>
<td><a href="updateUser.action?id=%{#us.id}">修改</a></td>
</tr>
</s:iterator>

这个样子试试。
------解决方案--------------------
这样就可以了。

<s:iterator value="#request.list" >
<tr>
<td>${username}</td>
<td>${phone}</td>
<td>${email}</td>
<td><a href="deleteUser.action?id=${id}">删除</a></td>
<td><a href="updateUser.action?id=${id}">修改</a></td>
</tr>
</s:iterator>

------解决方案--------------------
我自己重写了一个测试,可以取出,主要代码

public class ChineseParamterAction extends ActionSupport implements ModelDriven{
private Map request;
private User user = new User();   
public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public Map getRequest() {
return request;
}

public void setRequest(Map request) {
this.request = request;
}

public String execute() {
request = (Map)ActionContext.getContext().get("request");
List<User> list = new ArrayList<User>();
list.add(user);
request.put("list", list);
return "success";
}

public Object getModel() {
return user;
}
}

其他的应该跟你的逻辑差不多

------解决方案--------------------

<s:iterator value="#request.list" id="us">
<tr>
<td><s:property value="us.username"/></td>
<td><s:property value="us.phone"/></td>
<td><s:property value="us.email"/></td>
<td><a href="deleteUser.action?id=%{#us.id}">删除</a></td>
<td><a href="updateUser.action?id=%{#us.id}">修改</a></td>
</tr>
</s:iterator>


将#us.username修改为us.username  ...以此类推,你在试一试~
------解决方案--------------------
<s:iterator value="#list" id="us">
<tr>
<td><s:property value="us.username"/></td>
<td><s:property value="us.phone"/></td>
<td><s:property value="us.email"/></td>
<td><a href="deleteUser.action?id=%{us.id}">删除</a></td>
<td><a href="updateUser.action?id=%{us.id}">修改</a></td>
</tr>
</s:iterator>
  相关解决方案