struts的简单问题 看你的struts-config.xml和action中的forward是否有问题!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我把源代码粘上来,你们看一下。:hello.jsp 也就是login.jsp<%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html > <head> <title>hello.jsp</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <html:form action="/hello" method="post" > <table border="0"> <tr> <td>Login:</td> <td><html:text property="username" /></td> </tr> <tr> <td>Password:</td> <td><html:password property="password" /></td> </tr> <tr> <td colspan="2" align="center"><html:submit value="提交" /><html:submit value="注册"/><html:reset value="重置"/></td> </tr> </table> </html:form> </body></html:html>HelloForm:package com.yourcompany.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionMapping;/** * MyEclipse Struts * Creation date: 06-08-2006 * * XDoclet definition: * @struts.form name="helloForm" */public class HelloForm extends ActionForm { /** * */ // --------------------------------------------------------- Instance Variables private static final long serialVersionUID = 1L; private String password; private String username; // --------------------------------------------------------- Methods /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { this.username=null; this.password=null; } /** * Returns the password. * @return String */ public String getPassword() { return password; } /** * Set the password. * @param password The password to set */ public void setPassword(String password) { this.password = password; } /** * Returns the username. * @return String */ public String getUsername() { return username; } /** * Set the username. * @param username The username to set */ public void setUsername(String username) { this.username = username; }}HelloAction :package com.yourcompany.struts.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;import com.yourcompany.struts.form.HelloForm;/** * MyEclipse Struts * Creation date: 06-08-2006 * * XDoclet definition: * @struts.action path="/hello" name="helloForm" input="/form/hello.jsp" scope="request" validate="true" */public class HelloAction extends Action { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { HelloForm helloForm = (HelloForm) form; if(helloForm.getUsername().equals("admin")&&helloForm.getPassword().equals("123")) { return (mapping.findForward("success")); } else { return (mapping.findForward("error")); } } }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="helloForm" type="com.yourcompany.struts.form.HelloForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action name="helloForm" path="/hello" scope="request" type="com.yourcompany.struts.action.HelloAction" > <forward name="success" path="/success.jsp" /> <forward name="error" path="/error.jsp" /> </action> </action-mappings> <message-resources parameter="com.yourcompany.struts.ApplicationResources" /></struts-config>当然还有 success.jsp。 error.jsp和reg.jsp这些肯定没问题的。所以没有粘上来高手帮我看看问题 看看你的Hello.jsp( <html:form action="/hello" method="post" >), 当你点注册时,你的Form Action 也和Login一样指向了你的 /hello Action, 而你的HelloAction.java 并不知道如何处理 (因为没有Username和Password),当然是传向error.jsp 了。 点击注册时,直接链接到reg.jsp就行了不要 <html:submit value="注册"/> submit jhoter() 你说的这种方法,怎么写是不是<a href="/reg.jsp">注册</a>是这样吗?那样的话,它不就不是按钮了吗?有别的方法吗? jsp: <input type="button" name="button" value="注册" onclick="addUser()" ><script language="JavaScript">function addUser() { document.adminUserInfoForm.action="XXX.jsp";//你要转的地方 document.adminUserInfoForm.submit();}</script> 流媒体播放的后台怎么做 图像缩放怎么没有效果啊 求一个sql语句 我需要写个程序来监视一个数据库中所有表所有记录的变动情况,请给点思路 关于spring中配置quartz报错的问题 请问如何进行可持续发展? tomcat5.5.12如何启动servlet重新载入功能和启动root上下文 在struts下,使用什么标签实现多行文本区(textarea)? 简单的问题,请帮新手一下 大量数据列转横,循环处理率问题 hibernate初学者弱弱的问2 求几道J2EE题的答案!!!在线等!!谢谢!!!!
hello.jsp 也就是login.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html >
<head>
<title>hello.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<html:form action="/hello" method="post" >
<table border="0">
<tr>
<td>Login:</td>
<td><html:text property="username" /></td>
</tr>
<tr>
<td>Password:</td>
<td><html:password property="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit value="提交" /><html:submit value="注册"/><html:reset value="重置"/></td>
</tr>
</table>
</html:form>
</body>
</html:html>HelloForm:package com.yourcompany.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;/**
* MyEclipse Struts
* Creation date: 06-08-2006
*
* XDoclet definition:
* @struts.form name="helloForm"
*/
public class HelloForm extends ActionForm { /**
*
*/
// --------------------------------------------------------- Instance Variables private static final long serialVersionUID = 1L;
private String password;
private String username; // --------------------------------------------------------- Methods /**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) { // TODO Auto-generated method stub
return null;
} /**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) { this.username=null;
this.password=null;
} /**
* Returns the password.
* @return String
*/
public String getPassword() {
return password;
} /**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) {
this.password = password;
} /**
* Returns the username.
* @return String
*/
public String getUsername() {
return username;
} /**
* Set the username.
* @param username The username to set
*/
public void setUsername(String username) {
this.username = username;
}}HelloAction :package com.yourcompany.struts.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;import com.yourcompany.struts.form.HelloForm;/**
* MyEclipse Struts
* Creation date: 06-08-2006
*
* XDoclet definition:
* @struts.action path="/hello" name="helloForm" input="/form/hello.jsp" scope="request" validate="true"
*/
public class HelloAction extends Action { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
HelloForm helloForm = (HelloForm) form;
if(helloForm.getUsername().equals("admin")&&helloForm.getPassword().equals("123"))
{
return (mapping.findForward("success"));
}
else
{
return (mapping.findForward("error"));
}
}
}
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="helloForm" type="com.yourcompany.struts.form.HelloForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
name="helloForm"
path="/hello"
scope="request"
type="com.yourcompany.struts.action.HelloAction" >
<forward name="success" path="/success.jsp" />
<forward name="error" path="/error.jsp" />
</action> </action-mappings> <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>当然还有 success.jsp。 error.jsp和reg.jsp这些肯定没问题的。所以没有粘上来
高手帮我看看问题
), 当你点注册时,你的Form Action 也和Login一样指向了你的 /hello Action,
而你的HelloAction.java 并不知道如何处理 (因为没有Username和Password),当然是传向error.jsp 了。
不要 <html:submit value="注册"/> submit
<a href="/reg.jsp">注册</a>是这样吗?那样的话,它不就不是按钮了吗?有别的方法吗?
<input type="button" name="button" value="注册" onclick="addUser()" >
<script language="JavaScript">
function addUser()
{
document.adminUserInfoForm.action="XXX.jsp";//你要转的地方
document.adminUserInfoForm.submit();
}
</script>