当前页面: 开发资料首页 → J2EE 专题 → struts页面跳转?
struts页面跳转?
摘要: struts页面跳转?
我的listUser.jsp页面是显示所有用户的列表,上面有个链接:addUser.jsp为添加用户的页面.
addAction接受addUser.jsp来的数据并添加到数据库后,需要跳回到listUser.jsp页面,
并显示已添加用户的信息列表。
这个如何实现亚?
我在addAction里面重新定义了listForm,然后再request一下,但是一条数据也显示不出来呀?
这是怎么回事呀?
谢谢!
原代码贴出来看看,
看看代码先
addAction:
baseUserInfoForm userForm = (baseUserInfoForm) form;
List list=BaseDAO.findAll("from BaseUserInfo");
request.setAttribute("listUser", list);
forward = mapping.findForward("success");
/////////////////////////////////////////////////////////////////////////
listUser.jsp:
<tr bgcolor="#FFFFFF">
<td><%=index.intValue()+1%></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
这就是:addAction
public class baseUserInfoAddAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
ActionErrors errors = new ActionErrors();
ActionForward forward = new ActionForward(); // return value
com.huzai.admin.forms.baseUserInfoAddForm baseUserInfoAdd =
(com.huzai.admin.forms.baseUserInfoAddForm) form;
try {
// do something here
BaseUserInfo baseUserInfo=new BaseUserInfo();
baseUserInfo.setNAME(baseUserInfoAdd.getTxtNAME());
baseUserInfo.setNICK(baseUserInfoAdd.getTxtNICK());
baseUserInfo.setPWD(baseUserInfoAdd.getTxtPWD());
baseUserInfo.setTELEPHONE(baseUserInfoAdd.getTxtTELEPHONE());
baseUserInfo.setEMAIL(baseUserInfoAdd.getTxtEMAIL());
baseUserInfo.setCREATED(huzaiUtil.getCurrentTime());
BaseDAO.add(baseUserInfo);
//com.huzai.admin.forms.baseUserInfoForm baseUserInfoForm =
//(com.huzai.admin.forms.baseUserInfoForm) form;
baseUserInfoForm userForm = (baseUserInfoForm) form;
List list=BaseDAO.findAll("from BaseUserInfo");
//userForm.setListUserColl(list);
request.setAttribute("listUser", list);
forward = mapping.findForward("success");
} catch (Exception e) {
// Report the error using the appropriate name and ID.
errors.add("name", new ActionError("id"));
}
// If a message is required, save the specified key(s)
// into the request for use by the
tag.
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
// Write logic determining how the user should be forwarded.
forward = mapping.findForward("success");
// Finish with
return (forward);
}
}
xml没有定义吧。
你不要用request.setAttribute("listUser", list);
用如下代码:
HttpSession session = request.getSession();
session.setAttribute("listUser", list);
在jsp页面用session来取
那这个session什么时候消失呀?
不是楼上说的问题,session和request主要区别是取值范围不一样,你这种情况用request就可以了。
主要原因是下面这个地方错了。
List list=BaseDAO.findAll("from BaseUserInfo");
//userForm.setListUserColl(list);
request.setAttribute("listUser", list);
看见什么原因了吗?你页面循环的时候接受的值的时候name的值是listUserColl,而你传添加后再执行刷新的时候是listUser,当然是空的一条记录也不会显示出来。应该改成:
request.setAttribute("listUserColl", list);