日期:2014-05-20 浏览次数:20929 次
<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。