struts2:action总结以及各个相关点笔记
总结:?struts里Action总结
??? 1,实现一个action的最常用的方式:从ActionSupport继承
??? 2,DMI动态方法调用,!
??? 3,通配符配置*{1}{2}、、、、
??? 4,接收参数的方法(一般用属性接收,或者DomianModel来接收)
??? 5,简单参数验证:addFieldError
??????? a)一般不适用struts2的UI标签
??? 6,访问Web元素
??????? a)Map类型
???????????? i。? IoC,这种用的多,就是继承那几个接口,
???????????? ii。依赖struts2,这种就是需要使用ActionContext来获取。
?????????????? request=(Map)ActionContext.getContext().get("request");
??????? session=(Map)ActionContext.getContext().get("session");
??????? application=(Map)ActionContext.getContext().get("application");
??????? b)原始类型
???????????? i。IoC
???????????? ii。依赖struts2
?
???? 7,包含文件配置
???? 8,默认action处理
?
?
一? struts2里的struts标签的位置:
??? struts2-core-2.1.8.1.jar-->META-INF下,这里有个struts-tags.tld文件,
来源:(http://blog.sina.com.cn/s/blog_62e585a50100h73m.html) - struts2:action总结以及各个相关点笔记_恩在_新浪博客
二? struts2标签里有个<s:property>标签,这个标签用来取valuestack里的值,或是context里的值。这样在action页面添加错误信息
??? 时可以这样写:this.addFieldError("the name of error","the message of error");可以同一个错误名称对应多个值,例如:
??? this.addFieldError("nameError","sdebug check name is wrong");
??this.addFieldError("nameError", "the name is too long");
??? 然后在jsp页面内取值的时候,写成:<s:property value="errors.nameError[1]"/>
??? 这样就取到了第二个错误信息。
三 <s:debug>标签可以用来调试程序。
四 多种按钮提交同一个action,小技巧啦
?? 在定义form表单的时候,把action动作指定定义为空,然后在页面定义多个submit提交按钮,在每个按钮中定义所想要
?? 执行的action,这就是多个按钮提交同一个action。
??
五? 取得Map类型的request,session,application,真实类型的HttpServletRequest,HttpSessione,ServletContext的引用的相关知识。
??? 其实最常用的还是实现接口:implements RequestAware,SessionAware,ApplicationAware
??? 这里用到的是IoC的思想,当实现了这样的接口的时候,就不用初始化你的action里的request等变量了,而是都由Struts2
??? 替你完成初始化,这就是控制反转的思想。
??? 这里的request,session和application等都是struts2帮我们初始化好了的,是从http里拿来,然后放到你的程序变量里。
??? 常用的就是session,其他的都不常用
六? struts配置文件包含:<include file="login.xml"/>就可以了
??? 在这个小功能上,主要是为了开发方便,开发都是会分模块的,把一些公用的配置放到struts.xml里,然后
??? 在用<include>包含其他模块的配置文件。
七? struts里的默认action,可以在package里配置<default-action-ref name="index" />
??? 这样在这个package里的namespace下,默认的action就是这个了。
?