1、struts2在引入包时,不要将所有包都拷进去,否则一定会出问题的。
2、在eclipse中开发struts2时,必须配置<constant
name
=
"struts.devMode"
value
=
"true"
/>,否则,你更改struts.xml的配置无效。甚至在初次引入struts时,发现struts没运行起来。
3、在向数据库中插入一条记录时,浏览器报错:java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I,出现此错误的原因是antlr的JAR冲突,一般是由于struts2中包含的antlr-2.7.2.jar和其他库比如Hibernate中的jar冲突,解决办法是,删除antlr中版本较低的JAR。然后,清理tomcat缓存,即可!
4、<s:radio/>标签默认选中值属性value的问题:如果是字符串,需要用单引号括起来,如果是字符和ongl表达式,则不需要。例子:value="'8ae9daf739668b1f0139668b88920000'" 或value="1" 或value="#adbean.roles[0].roleid" 。
5、struts2里不同的标签对ognl的表达式的理解是不一样的。如果当有的标签“看不懂”类似“#myMap['key1']”的语句时,就要用%{}来把这括进去,“翻译”一下。
6、s:submit区分按钮的方法是,在s:submit中设置action属性。
7、如果要在jsp页面中引用静态方法,则需要在struts.xml中添加<constant name="struts.ognl.allowStaticMethodAccess" value="true" />。
8、struts.xml中通过添加<constant name="struts.custom.i18n.resources" value="mis"/>引入mis.properties资源文件,struts2中通过默认
拦截器i18n,
支持国际化。i18n会检查具有request_locale的请求参数,如果该参数具有locale串值,会将其放置在关键字为:WW_TRANS_I18N_LOCALE的session中。