日期:2014-05-20 浏览次数:20730 次
<action name="login" class="action.LoginAction" method="login"> <result name="input">/login.jsp</result> <result name="error">/error.jsp</result> <result name="success">/welcome.jsp</result> </action>
public String login() { BusinessService service = new BusinessService(); User user = service.login(getId(), getPassword()); System.out.println(user.getId()); //登录成功 if(user!=null){ ActionContext.getContext().getSession().put("user", id); System.out.println("登录成功"); return SUCCESS; } return ERROR; }
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>">
------解决方案--------------------
<result name="input">/login.jsp</result>
删除试下,你这个结果
if(null!=user){
ActionContext.getContext().getSession().put("user", id);
System.out.println("登录成功");
return SUCCESS;
}
else{ return ERROR;
}
return INPUT;
好久不用,不知道是不是这问题
------解决方案--------------------
welcome.jsp放在哪个文件目录下?
------解决方案--------------------
你在每个result 里边加一个type="redirect" 即:<result name="success" type="redirect"> 然后看看跳转时候的地址是什么?记得改了xml要重启Tomcat,如果还不行,可以把Return换一个值,可以Return ‘s1’ 然把result的name也换了。。。
------解决方案--------------------
我晓得有种情况会出现这种错误,就是你的页面form里的input的name和action里面的属性名或类型不一致。
比如你这里,如果action里有id和password属性,如果你的页面上是user.id和user.password或者是Id和Password,那么就会出现找不到result。如果你页面上输入的id为字符串,但你action中的id为int,那么也会出现找不到result。