网上的方法都试过了,还是不行,一个小程序都搞不定,连玩游戏的热情都没有了,希望各位哥伸出圆手,小弟感激不胜
我的struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts>    <constant name="struts.devMode" value="true" />
    
    <package name="cj" namespace="/" extends="struts-default">
        <action name="login" class="org.game.action.LoginAction">
            <result name="success">/WEB-INF/content/loginForm.jsp</result>
            <result name="error">/WEB-INF/content/succ.jsp</result>
        </action>
    </package>    <!-- Add packages here --></struts>我的web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"> 

   <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>   </filter>

   <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
   </filter-mapping>

</web-app>我的action文件
package org.game.action;import org.game.domain.Employee;
import com.opensymphony.xwork2.Action;public class LoginAction implements Action {
private Employee emp; public void setEmp(Employee emp) {
this.emp = emp;
} public Employee getEmp() {
return emp;
}
@Override
public String execute() throws Exception {
if("tony".equals(emp.getName()) && "123".equals(emp.getPass()))
{
return SUCCESS;
}
return ERROR;
}
}普通class
package org.game.domain;public class Employee {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}

}
这个是jsp文件:
loginForm.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>添加员工</title>
</head>
   <body>
      <form action="login" method="post">
          员工名:<input type="text" name="emp.name"/><br/>
 性别:<input type="text" name="emp.pass"/><br/>
 <input type="submit" value="登陆"/>
      </form>
    </body>
</html>succ.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>添加员工</title>
</head>
<body>
    <h1>登陆成功</h1>
</body>
</html>

解决方案 »

  1.   

    public class LoginAction implements Action {好像是implements ActionSupport,你先试试。
      

  2.   

    在这里,你这个LoginAction不应该implements接口Action,需要修改为extends ActionSupport,继承ActionSupport类之后,你就可以使用一些特定的字符串了。
      

  3.   

    改了extends ActionSupport,结果还是一样
      

  4.   

    你的strust.xml中有action怎没有<form-beans>???
      

  5.   

    没得formbean,怎么填充呢?肯定是这儿错了
      

  6.   

    找不到那个action,你仔细看看你的配置文件,应该是写错了。
      

  7.   

    9楼,你说的是struts1吧
    11楼,配置文件我是对比了正确的书写,没有错错误信息:
    警告: Could not find action or result
    There is no Action mapped for namespace / and action name . - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
      

  8.   

    <form action="/login" ....></form>
      

  9.   

    <package name="cj" namespace="/" extends="struts-default">
    把namespace删了
    <package name="cj" extends="struts-default">
      

  10.   

    请问,你的实体类是用注解还是XML 我看你好像是注解方式
       注解好像要交给Spring里面管理
      

  11.   

    <aop:aspectj-autoproxy /> <!-- 支持aop注解方式 -->
    <context:component-scan  base-package="com.sxt"/>
      

  12.   

    在你要调用action的方法那边打个断点,然后debug调试,看能不能跳进这个方法.跳不进去,那肯定是你配置文件错了。其他什么都别想,对照配置文件的标签一个个去抠出他的配置的意思。细心点,肯定没问题的。
      

  13.   

    namespace="/" struts2默认的namespace就是"/" 不需要写这个了吧
      

  14.   

    <s:form action="login" namespace="/" id="loginForm">
    用struts的标签!!很简单的问题,你刚刚可能命名空间有问题!或者在login后加.action
      

  15.   

    Struts.XML中的namespace去掉看看!
      

  16.   

    <form action="cj/login" method="post">
    试试?
      

  17.   

     员工名:<input type="text" name="emp.name"/><br/>
    性别:<input type="text" name="emp.pass"/><br/> 改为
     员工名:<input type="text" name="name"/><br/>
    性别:<input type="text" name="pass"/><br/>
      

  18.   

    <form action="/login.action" method="post">
      

  19.   

    非常感谢各位,由于今天电脑出问题上不了网,不能及时回复,不好意思,现在我把action中name的值改成*就可以运行了