日期:2014-05-18  浏览次数:20654 次

Struts如何根据配置文件创建相应的Action
例如在struts-config.xml有如下定义:
<action
            attribute= "User "
            input= "/login.jsp "
            name= "User "
            path= "/login "
            scope= "request "
            type= "edu.besti.web.user.LoginAction "   >
            <forward   name= "index "   path= "/index.jsp "   />
        </action>
LoginAction这个类是如何被创建的呀?
其中用到了java的哪些技术呀?
最好能提供struts相关的源码分析~~
新人第一次提问~望各位大侠指点一二~谢~~

------解决方案--------------------
edu.besti.web.user.LoginAction

这是路径 写一个execute()方法就可以了

form别忘记了!


------解决方案--------------------
先看ActionServlet的process方法,
然后会进入RequestProcessor的process方法,
继续跟到Action action = processActionCreate(request, response, mapping);
接着跟进processActionCreate方法,一路下来你会学到很多的。

中间有些方法很值得细细跟一跟,例如ActionForm的种种处理。
------解决方案--------------------
就在这个edu.besti.web.user.LoginAction路径下建一个就行了 具体方法看你要实现什么功能了 登陆的话就写登陆方面的方法了

------解决方案--------------------
那个Action是在创建Jsp的时候,自动生成的,它的默认是一个Form对一个Action,其实Action无关紧要,在配置文件中的 <type= "edu.besti.web.user.LoginAction " > ,意思是Form所对应的类;其实配到哪个Action都是一样的;也可以所有的form都配到一个Action;只要在Action中加以区分就可以了。


------解决方案--------------------
楼上用的什么工具,能创建jsp的时候生成action?
------解决方案--------------------
这就是struts的配置,实际上是其struts-config.xml文件中的一个action映射。你应该定义一个type中描述的action,可以写一个默认的方法execute(),也可以写其他的方法,注意还要配置一个form,因为你在配置文件中写了user的一个form