这是我的一个struts的longin界面!
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html:form action="register.do">
 your name:<html:text property="username"/><br >
 passowrd: <html:password property="password1"/><br >
  reenter password:<html:password property="password2"/><br >
  <html:submit value="Regist"/>
</html:form>
这是我的struts-config.xml的文件<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE struts-config PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd"> 
<struts-config> 
<form-beans> 
<form-bean name="testActionFrom type="tes.TestActionFrom"/> 
</form-beans> 
<action-mappings> 
<action path="/register" 
type="tes.RestistAction" 
name="testActionFrom"> 
<forward name="sucess" path="/sucess.jsp"/> 
<forward name="failed" path="/failed.jsp"/> 
</action> 
</action-mappings> 
</struts-config> TestActionFrom.java
package tes;
import org.apache.struts.action.*;
public class TestActionFrom extends ActionForm 
{
protected String username;
protected String password1;
protected String password2;
public String getname()
{
return this.username;
}
public String getpassword1()
{
return this.password1;
}
public String getpassword2()
{
return this.password2;
}
public void setusername(String username)
{
this.username=username;
}
public void setpassword1(String password1)
{
this.password1=password1;
}public void setpassword2(String password2)
{
this.password2=password2;
}
}
RestistAction .java
package tes;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.io.*;public class RestistAction extends Action
{
public ActionForward perform (ActionMapping mapping,ActionForm form,HttpServletRequest req,HttpServletResponse res) { 
//  ①Cast the form to the RegisterForm 
TestActionFrom rf = (TestActionFrom) form; 
//String username = rf.getname() ;
String password1 = rf.getpassword1() ;
String password2 = rf.getpassword2(); 
//  ②Apply business logic 
if (password1.equals(password2)) 

return mapping.findForward("sucess.jsp"); 

else{

//  ④Return ActionForward for failure 
return mapping.findForward("failed.jsp"); 


}
}
为什么运行register.jsp老出错啊!为什么啊?
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.html.MessagesTei
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.html.MessagesTei
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:279)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:422)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.ClassNotFoundException: org.apache.struts.taglib.html.MessagesTei
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:419)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.14 logs.

解决方案 »

  1.   

    找不到类org.apache.struts.taglib.html.MessagesTei,是不是包没倒进来啊.
      

  2.   

    把Action中负责转向的代码改成这样if (password1.equals(password2)) 

      return mapping.findForward("sucess"); 

    else
    {
      return mapping.findForward("failed"); 
    }
      

  3.   

    没有用啊! 我试过了啊!是不是不要配置web.xml啊?晕了!
      

  4.   

    供参考:
    1. jsp
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <html:form action="register.do">
     your name:<html:text property="username"/><br >
     passowrd: <html:password property="password1"/><br >
      reenter password:<html:password property="password2"/><br >
      <html:submit value="Regist"/>
    </html:form>
    -----------------------------------------------------------
    2.web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    </web-app>
    -------------------------------------------------------------
    3.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="testActionFrom" type="com.joyzc.struts.TestActionFrom" />  </form-beans>  <global-exceptions />
      <global-forwards />
      <action-mappings >
        <action
          attribute="testActionFrom"
          input="/test.jsp"
          name="testActionFrom"
          path="/register"
          scope="request"
          type="com.joyzc.struts.TestAction">
          <forward name="failed" path="/index.jsp" />
          <forward name="success" path="/ShowPage.jsp" />
        </action>  </action-mappings>  <message-resources parameter="com.joyzc.struts.ApplicationResources" />
    </struts-config>--------------------------------------------------------------
    4.TestActionForm
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.joyzc.struts;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: 10-21-2006
     * 
     * XDoclet definition:
     * @struts.form name="testActionFrom"
     */
    public class TestActionFrom extends ActionForm { protected String username;
    protected String password1;
    protected String password2;

    public String getPassword1() {
    return password1;
    }
    public void setPassword1(String password1) {
    this.password1 = password1;
    }
    public String getPassword2() {
    return password2;
    }
    public void setPassword2(String password2) {
    this.password2 = password2;
    }
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) { return null;
    }
    public void reset(ActionMapping mapping, HttpServletRequest request) { }
    }
    ------------------------------------------------------------
    5.TestAction
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.joyzc.struts;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 TestAction extends Action {
    /*
     * Generated Methods
     */ public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    TestActionFrom rf = (TestActionFrom) form;// TODO Auto-generated method stub        String password1=rf.getPassword1();
            String password2=rf.getPassword2();
    if (password1.equals(password2)) 

    return mapping.findForward("success"); 

    else
    {
    return mapping.findForward("failed"); 
    }  }
    }
    ---------------------------------------------------------
    注: 在Struts.config.xml中
    <forward name="failed" path="/index.jsp" />
    <forward name="success" path="/ShowPage.jsp" />
    path后面的转向页面要改成你项目中有的页面
      

  5.   

    天啊!代码一样啊!怎么运行不走来!不过报错不一样了
    org.apache.jasper.JasperException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  6.   


    要不你把你的项目压缩传给我吧,...你用的什么开发工具[email protected]
      

  7.   

    我用的eclipse啊!eclipse+StrutsIde+gef+....
      

  8.   

    我给你发回去了如果没有收着,就加我msn吧,我传给你
      

  9.   

    java.lang.ClassNotFoundException: org.apache.struts.taglib.html.MessagesTei