这些问题是本人开发中遇到的,如果有不同意见的,欢迎指出,大家交流学习
1.写struts2的事情时,在return中,切记SUCCESS等是在Action中定义的,它是一个常量,如果写成了"SUCCESS"这个字符串字面值。如果写成了字符串字面值,在需要在
注意,这是大小写敏感的哦。
2.在web.xml中,最新版(截至现在是struts-2.2.3.1)中标准的filter写法如下:(前提是你的web.xml中的格式一定要正确)
3.网上很多同志说把struts.xml放到src文件夹下,但这是eclipse中的情况,如果直接放到tomcat的webapps中deploy时,默认的struts.xml应该放在webapp/WEB-INF/classes/ 文件夹下,即:webapp/WEB-INF/classes/struts.xml。
4.关于
5.
不过,前提是没有写
如果namespace="/xxx/yyy"。则应该在表单中写成:
/yyy/actionName.action" method="post|get">
注意,namespace必须要以“/”开头,否则会出现找不到xxx Action。这有点类似在servlet配置中的url-pattern。
6.在struts2标签中使用表达式时。要特别注意:
A:要开头处要添加:
<%@ taglib prefix="s" uri="/struts-tags" %>
B:其次在web.xml中要添加struts2的核心控制器:
C:在app/WEB-INF/lib中要添加相应的struts2的库。
要不会报错的。
display result contents
7.国际化:
A:全局方面:
在app/WEB-INF/classes/struts.xml中配置:
然后在app/WEB-INF/classes/文件夹下建立国际化资源文件,baseName_language_contry.properties 比如:
globalMessages_en_US.properties
globalMessages_zh_CN.properties
如果想要以特定的文件夹来存放国际化资源文件,则可这样子配置(假设你放在app/WEB-INF/classes/i18n/文件夹下),则要这样子配置:
在app/WEB-INF/classes/struts.xml中配置:
app/WEB-INF/classes/i18n/文件夹下的文件为:
globalMessages_en_US.properties
globalMessages_zh_CN.properties
B:不用在配置文件里配置的方法:
在app/WEB-INF/classes/ 里放置你的国际化资源文件:xxxxx.properties
然后的jsp中调用时:
注意:
C:动态改变国际化(前提当然是你要准备好这些国际化文件咯^_^):在请求Action时,添加一个参数:
xxxx.action?request_locale=zh_CN, 这个表示的是中文。
xxxx.action?request_locale=en_US, 这个表示的是英文。
8.标签:
A:set
@
welcome , yang zhi yong!
sorry, you are not yang zhi yong!
@#{"key":"value"}, 注意单引号与双引号的位置。
welcome , yang !
sorry, you are not yang!
@与数字比较大小(注意,不用大括号的哦):
more than 61
less than 61
equal 61
9.Struts2跳转时CSS失效问题:
解决方法 :
<%
String basePath = request.getScheme()+"://" + request.getServerName()+":"+ request.getServerPort()+contextPath;
basePth的结果是http://addrress:port/webApp
例如:http://localhost:8080/mywebApp
注意是最后是没有"/"的哦....
%>
10.配置拦截器的问题
如果在struts.xml文件中的Action,没有添加使用拦截器,则默认的拦截器将会起作用.但是,当一旦为该包中的Action添加使用了某个拦截器,那么这个默认的拦截器就不会起作用了.这时,就要求手动地添加该默认的拦截器.
11. 在struts.xml中配置action时,如果有相同的名字的action(且在同一个包),则只会有最后一个action生效
12. 分割路径的问题:在unix和linux都适用.
13. 如果Action中的字段与Model中的字段相同, 则Model的优先.
14.Struts2标签是可以嵌套使用的:
15.重定向Action:
listAllFilesAction
/jsp/login.jsp
/jsp/listOwnFiles.jsp