如果想要修改/lib/struts2-core-2.3.24.jar!/org/apache/struts2/default.properties中的配置信息,有三种方式。
①直接在struts.xml配置文件中加入一个标签即可。例如:设置字符编码
②在src中创建一个struts.properties文件,这个文件中存在的都是以键值对的方式写的,例如:
struts.i18n.encoding = UTF-8
不加任何符号
③在web.xml中配置
Web.xml >struts.properries > struts.xml
推荐在struts.xml中配置
(1)设置字符编码,解决了乱码问题
struts.i18n.encoding=UTF-8
(2)设置访问路径后缀名
struts.action.ectension设置action的扩展名
<constant name="helloAction" value="do,,">constant>
现在讲扩展名修改为do,, 即访问路径输入helloAction或者helloAction.do也能访问
(3)struts.devMode =true devMode developerMode的缩写 开发者模式
设置为true后,将变成热部署,即修改了配置文件之后,等过一段时间,直接刷新页面时配置信息就已经修改,不能再重启服务器,并且报错之后会将报错信息提供的更加明确。如果是边改变看,不推荐使用热部署。
其他的常量,有兴趣的可以切去私下研究下。
即动态方法:
我们在写action的时候,都是要一个action对应类中的一个方法,如果方法太多,要配置很多,比较繁琐,有没有只写一个action就能解决问题,有。
将action的name属性修改为helloAction_* ,将method属性值修改为{1},这样就会将请求后面的内容当成method的值.例如:
请求地址为helloAction_add 那样method的值就是add
①如果action中的method不写,默认情况下,method = execute
②result中的name如果不写,默认是success
③result中的type如果不写,默认是dispatcher 转发
④如果action的class不写 默认是
<default-class-ref class="com.opensymphony.xwork2.ActionSupport">default-class-ref>
⑤如果访问路径错误,将会执行默认的action