我在myeclipse中新建一个web project,完后写了一个简单的struts2登录程序,一开始配置文件struts.xml放在WEB-INF文件夹下,但跳转的时候说There is no Action mapped for namespace / and action name,完后我查了下,说必须把struts.xml放在WEB-INF文件夹下的classes文件夹下,但我在myeclipse中新建不了这个文件夹,说已存在,我通过“我的电脑”到该项目的WEB-INF文件夹下去找,确实是存在,但不知为何在myeclipse中却看不到?

解决方案 »

  1.   

    我是指myeclipse中看不到classes文件夹,但它确实存在,刷新项目或重新启动myeclipse都看不到
      

  2.   

    1>.把classes目录中struts.xml删除。
    2>.把struts.xml创建在src目录下。注:环境编译的时候,会自动放到classes目录下。
      

  3.   

    确实是隐藏的,你可以右键点project,然后properties。
    看Java Build Path -> Source -> Default Output folder想在WEB-INF/classes中放东西,直接扔到 /src/下就可以了。部署时myeclipse会把src/根下的文件放到WEB-INF/classes中。
      

  4.   

    放到src下,编译后会自动copy到classes下因为classes目录就是classpath
      

  5.   

    如果你想方便管理的话,可以在工程目录下新建一个conf文件夹,然后把配置文件都放里面。
    然后设置这个文件夹为源文件目录。
    这里面所有的文件都会被copy到WEB-INF/classes目录中。
      

  6.   

    不行啊,我把struts.xml放在src目录下,完后把class文件夹删除,完后运行,又报错:
    There is no Action mapped for namespace / and action name Login
    完后我看到classes文件夹自动生成了,但里面什么也没有,空的
      

  7.   

    项目一创建好,在WEB-INF中就会有一个classes文件夹,对应的就是src文件夹.
    所以把struts.xml放到src目录下就行了.
      

  8.   

    struts.xml放到src目录下就行了.
      

  9.   

    那这样,您把项目备份一下。
    删除现在这个,再新建一个项目,然后把必要的东西再拷过来。classes下的东西在src里建就好。IDE工具会自动拷贝到classes中。
      

  10.   

    嗯,我刚才也是这样做的,我删除项目再重新导入,完后把struts.xml放在src下,再运行,结果我发现struts.xml是自动生成到classes里了,不过程序还是报错:
    There is no Action mapped for namespace / and action name Login.
    网上搜了下,说是struts.xml写的有问题,但我看半天也没看出来啊,我的struts.xml如下<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    <package name="com.cec.document" extends="struts-default">
    <action name="Login" class="com.cec.document.LoginAction">
    <result name="success">/welcome.jsp</result>
    </action>
    </package>
    </struts>