关于struts的,我花了两天的时间都无法解决!!! ActionForm的问题把源程序贴出来看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有代码不能看出问题不知道你有没有配置<form-beans LoginAction:package test.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class LoginAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward("success"); }} LoginActionForm:package test.form;import org.apache.struts.validator.ValidatorForm;public class LoginActionForm extends ValidatorForm{ private String loginID; private String loginPWD; public String getLoginID() { return loginID; } public String getLoginPWD() { return loginPWD; } public void setLoginID(String string) { loginID = string; } public void setLoginPWD(String string) { loginPWD = string; }}struts-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config> <data-sources /> <form-beans> <form-bean name="loginActionForm" type="test.form.LoginActionForm" /> </form-beans> <global-exceptions /> <global-forwards> </global-forwards> <action-mappings> <action path="/loginAction" type="test.action.LoginAction" parameter="method" name="loginActionForm" validate="true" scope="request" input="/Login.jsp"> <forward name="login" path="/welcome.jsp" /> <forward name="reLogin" path="/Login.jsp" /> </action> </action-mappings> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in></struts-config> 我在英文网站上看过同样的问题。有说是 classLoader ,有说是easy—struts.反正根据我的经验,我一定是犯了一个很低级的错误。呵呵 test.form.Login引起的问题,好像是标签没有使用正确,是否正确的是定义FormBean,定义的FormBean的字段是否和叶面对应上了。没有代码,只能说这些了 return mapping.findForward("success"); 没有对应的东西 mapping.findForward("success"); 没有配置 另外我还怀疑你的jsp的表单里面的元素和formbean没有对应 你的return mapping.findForward("success"); 应该改成return mapping.findForward("login"); Login.jsp的内容也很简单啊。LoginAction怎么写不重要吧,我还没触发loginAction.按钮都没写。<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@ page contentType="text/html; charset=Shift_JIS" %><html:html><HEAD><META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><META name="GENERATOR" content="Microsoft FrontPage 5.0"><META http-equiv="Content-Style-Type" content="text/css"><TITLE>MyStruts</TITLE></HEAD><body><html:form action="/loginAction" method="post"> <p>UserID: <html:text property = "loginID" size="16" maxlength="16"/> </p> <p>Password: <html:text property = "loginPWD" size="16" maxlength="16"/></p> <p> </p> <p> </p></html:form></body></html:html> return mapping.findForward("success"); 部分改过来也没用。我总觉得是Project的配置问题。 tomcat\work下查找__login.java这个文件,看129行 public class LoginActionForm extends ValidatorForm改为public class LoginActionForm extends ActionForm试试!! 标签类? 是什么。我刚才在家里,重新做了一次,我家里的eclipse没有easy struts 居然就好用了。明天我再去公司试试,这次建项目时不用easy struts. public class LoginActionForm extends ValidatorForm改为public class LoginActionForm extends ActionForm试试!! TMD, 我在公司重新建了一个工程,不过没有使用easy struts代码用的就是上面的。结果就OK了。 楼主人缘挺好啊,呵呵,我怎么感觉这段代码很熟悉啊?lichao <forward name="login" path="/welcome.jsp" />改为<forward name="success" path="/welcome.jsp" />你的Action里不是写了return mapping.findForward("success")吗?那么在对应的struts-config.xml中应当对success后的页面进行配置啊 我也用easyStruts出现过路径的问题,奇怪。 你把<forward name="reLogin" path="/Login.jsp" />改为<forward name="success" path="/Login.jsp" /> 这样试试 <html:text property = "loginID" size="16" maxlength="16"/><html:text property = "loginPWD" size="16" maxlength="16"/>--><html:text name="loginActionForm" property = "loginID" size="16" maxlength="16"/><html:text name="loginActionForm" property = "loginPWD" size="16" maxlength="16"/> struts-config.xml和jsp的对应是有问题,不过最终解决的方法还是不用easy-struts!!!最后谢谢大家的帮助。 仅供参考:《如何建立一个带登陆页面的Struts数据库应用程序》《如何建立一个带登陆页面及角色的Struts数据库应用程序》http://www.javawebstudio.com/html/instance/index.htm 急....C语言代码转成java代码 SVN提交的文件属性为什么总是只读的? 寻求帮助 Hibernate多对多关系更新数据出错 myeclipse问题 jsp mysql连接问题 java怎么调用linux的命令 客户端不能向服务器端写文件是什么原因啊,急啊,大侠帮忙!!!! 一个简单的EJB Test Client问题。 easyui在ie下报无法获取属性“msie”的值 struts从数据库下载文件的问题... Struts中LookupDispatchAction的测试
不知道你有没有配置<form-beans
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class LoginAction extends Action { public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
return mapping.findForward("success");
}
}
LoginActionForm:package test.form;import org.apache.struts.validator.ValidatorForm;public class LoginActionForm extends ValidatorForm{ private String loginID;
private String loginPWD; public String getLoginID() {
return loginID;
} public String getLoginPWD() {
return loginPWD;
} public void setLoginID(String string) {
loginID = string;
} public void setLoginPWD(String string) {
loginPWD = string;
}}
struts-config.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginActionForm" type="test.form.LoginActionForm" />
</form-beans> <global-exceptions />
<global-forwards>
</global-forwards> <action-mappings>
<action path="/loginAction" type="test.action.LoginAction" parameter="method"
name="loginActionForm" validate="true" scope="request" input="/Login.jsp">
<forward name="login" path="/welcome.jsp" />
<forward name="reLogin" path="/Login.jsp" />
</action>
</action-mappings> <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
</struts-config>
有说是 classLoader ,有说是easy—struts.
反正根据我的经验,我一定是犯了一个很低级的错误。呵呵
LoginAction怎么写不重要吧,我还没触发loginAction.按钮都没写。<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page contentType="text/html; charset=Shift_JIS" %><html:html>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META name="GENERATOR" content="Microsoft FrontPage 5.0">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>MyStruts</TITLE>
</HEAD>
<body>
<html:form action="/loginAction" method="post">
<p>UserID:
<html:text property = "loginID" size="16" maxlength="16"/>
</p>
<p>Password:
<html:text property = "loginPWD" size="16" maxlength="16"/>
</p>
<p>
</p>
<p> </p>
</html:form>
</body>
</html:html>
我总觉得是Project的配置问题。
public class LoginActionForm extends ActionForm
试试!!
居然就好用了。
明天我再去公司试试,这次建项目时不用easy struts.
public class LoginActionForm extends ActionForm
试试!!
代码用的就是上面的。结果就OK了。
lichao
改为
<forward name="success" path="/welcome.jsp" />你的Action里不是写了return mapping.findForward("success")吗?那么在对应的struts-config.xml中应当对success后的页面进行配置啊
<html:text property = "loginPWD" size="16" maxlength="16"/>-->
<html:text name="loginActionForm" property = "loginID" size="16" maxlength="16"/>
<html:text name="loginActionForm" property = "loginPWD" size="16" maxlength="16"/>
最后谢谢大家的帮助。
《如何建立一个带登陆页面的Struts数据库应用程序》
《如何建立一个带登陆页面及角色的Struts数据库应用程序》
http://www.javawebstudio.com/html/instance/index.htm