struts自从升级到二点五以上可以说是非常难用,首先他删除了ng包将配置文件变成了这样
解决了can not find method for result …问题
解决了action method index问题
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
其实这样就这样把,也不是什么重要的内容,但是配置完事之后各种问题就非常尴尬,各种问题,然后还找不到定位点,忙活了一个多小时才给配置好
还有这篇文章
http://blog.youkuaiyun.com/e_inch_photo/article/details/78833810
对于错误也是具有重要意义的
反正就是各种问题把
写到这里我们不得不提一下ModenDriven的问题,根本没人会用这个,首先我不解释原理,web这种东西,特别是框架,解释原理没多大意思,要是真想了解底层,不如去研究操作系统,初次之外我们会用就行,况且我也不是专门做web端的,仅仅是顺带着做一下这个,使用ModelDirven必须先继承
implements ModelDriven<MAMage>
其次在代码中必须自己先实例化一个对象
private __Mamage__ thisObj = new __Mamage__();
这个对象必须是一个Javabean对象,只要参数名和html表单参数名相同就可以了,之后重写
getModel()方法。
@Override
public __Mamage__ getModel() {
if (thisObj!=null) {
return thisObj;
}
else
{
return new __Mamage__();
}
}
其实我这里面判断为空意义不大,因为要是真是空那还真就出问题了。
最后在struts.xml配置
<package name="datachange" extends="struts-default">
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="checkbox">
<param name="uncheckedValue">0</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
<interceptor name="ModelDrivenInterceptor" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"></interceptor>
</interceptors>
<action name="login" class="web_base.action.MamageLogin">
<interceptor-ref name="modelDriven"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">/index.jsp</result>
</action>
</package>
在自己定义的method方法里面可以使用自己的数据对象。