1. Action中可以写多个方法。配置的时候:<action name=”nn” class=”cc” method=” mm”>。
2. Struts2的result类型不仅可以是dispatcher。如下:
struts.xml配置文件:<result name="" type="">xxxxx</result>
Struts2支持的不同类型的返回结果为:
Chain Result-->type="chain"
用来处理Action链
Dispatcher Result -->type="dispatcher"
用来转向页面,通常处理JSP
FreeMarker Result -->type="freemarker"
处理FreeMarker模板
HttpHeader Result -->type="httpheader"
用来控制特殊的Http行为
Redirect Result -->type="redirect"
重定向到一个URL
Redirect Action Result -->type="redirectAction"
重定向到一个Action
Stream Result -->type="stream"
向浏览器发送InputSream对象,通常用来处理文件下载
Velocity Result -->type="velocity"
处理Velocity模板
XLST Result -->type="xslt"
处理XML/XLST模板
PlainText Result -->type="plainText"
3. 在dispatcher类型的result中,可以使用OGNL语言配置动态结果。如/success.jsp?userName=${userName}。
4. 用OGNL访问Struts2上下文。假设不同作用于都包含一个name属性。则#request.name的作用范围是HttpServletRequet属性;#parameters.name作用范围是HttpServletRequet参数;#session.name作用范围是HttpSession属性;#attr.name作用前面所有的属性。
5. 拦截器:
<interceptors>
< interceptor name=”拦截器1” class=”类”>
<param name=””>参数值</param>
</ interceptor>
<interceptor name=”拦截器2” class=”类”/>
<interceptor name=”拦截器3” class=”类”/>
</interceptors>
使用:
<action name=”” class=”” >
< interceptor-ref name=”defaultStack”/>
< interceptor-ref name=” 拦截器1”>
<param name=””>参数值 </param>
</Interceptor-ref>
< interceptor-ref name=” 拦截器1”/>
< interceptor-ref name=” 拦截器1”/>
</action>
6. 拦截器栈:
<interceptors>
<interceptor-stack name=” 拦截器栈1”>
<interceptor-ref name=”拦截器1”/>
<interceptor-ref name=”拦截器1”/>
<interceptor-ref name=”拦截器1”/>
</interceptor-stack>
</interceptors>
7. 核心jar包:
8. 把项目路径配置为tomcat服务器的根路径。在tomcat配置文件server.xml中添加<Context path="/项目名" docBase="F:/Workspaces/MyEclipse 7.0/项目名/WebRoot" reloadable="true">
使用FCKeditor的时候,会出现中文乱码问题。在项目中,我们统一使用UTF-8编码方式。为了解决该问题,首先保证struts.properties文件中含有struts.local=utf-8和struts.i18n.encoding=utf-8;其次保证jsp页面中含有<%@ page contentType="text/html;charset=UTF-8" language="java"%>;最重要也是最容易忽略的一点是,在Tomcat配置文件server.xml中,在<Connector port="8080" />字段和<Connector port="8009" />后面加上URIEncoding="utf-8"。这样问题就解决了。
9. 如果在一个jsp页面中,引入了其他的jsp页面,要注意获取路径的<%String path = request.getContextPath();%>中,当前页面和被引入的页面,path这个变量名不能相同。
10. <s:property value=”” />标签中的value引号内可以直接写参数或者这种形式user.name。而<s:hidden value=””/>中的value引号内应该写成%{参数名}的形式。
11. HTML标签可以嵌套Struts2标签,如
<option value=”<s:property value=”参数””></option>
12. <marquee>标签的使用方法(创建滚动内容):
direction 表示滚动的方向,值可以是left,right,up,down,默认为left
behavior 表示滚动的方式,值可以是scroll(连续滚动)slide(滑动一次)alternate(来回滚动)
loop 表示循环的次数,值是正整数,默认为无限循环
scrollamount 表示运动速度,值是正整数,默认为6
scrolldelay 表示停顿时间,值是正整数,默认为0,单位是毫秒
valign 表示元素的垂直对齐方式,值可以是top,middle,bottom,默认为middle
align 表示元素的水平对齐方式,值可以是left,center,right,默认为left
bgcolor 表示运动区域的背景色,值是16进制的RGB颜色,默认为白色
height、width 表示运动区域的高度和宽度,值是正整数(单位是像素)或百分数,默认width=100% height为标签内元素的高度
hspace、vspace 表示元素到区域边界的水平距离和垂直距离,值是正整数,单位是像素。
οnmοuseοver=this.stop() οnmοuseοut=this.start() 表示当鼠标以上区域的时候滚动停止,当鼠标移开的时候又继续滚动。