struts2中的文件配置

struts.enable.DynamicMethodInvocation = true 动态方法调用

在Struts 2的核心jar包-struts2-core中,有一个default.properties的默认配置文件。里面配置了一些全局的信息,比如:

struts.enable.DynamicMethodInvocation = true,-动态方法调用,为true时,就可以在struts.xml配置“*”的通配符,来调用action里的方法(下面介绍)

struts.action.extension=action,-action 的后缀名,可以改成.to、.html等等

    还有很多,但那个default.properties是不能被更改的。如需要更改里面的配置信息,可以在src根目录下建一个 struts.properties的配置文件,然后重写所要更改的配置信息。

     Wildcards通配符

    通配符有点类似于变量,但这里的变量是用“*”表示,看看一个例子

<action name="login_*" method="{1}"
class="com.zhang.action.LoginAction">
<result name="success">/pages/success.jsp</result>
<result name="error">/pages/error.jsp</result>
</action>

    这里在action的name中通配了一个login_*,它对应映射的是method属性。如果在客户端发生一个这样的请 求:login_init.action、login_show.action等,这时服务器就会自动调用这个action中的init()方法或 show()方法。这里的method="{1}"代表是第一个“*”,如果有多个星号,就要根据顺序来通配{1},{2},{3}....

    在如下面多个星号的配置:

<action name=”*/*” method=”{2}”  
class=”com.zhang.action.{1}Action”> 
<result name=”success”>/pages/success.jsp</result> 
<result name=”error”>/pages/error.jsp</result> 
</action>

    其中第一个“*”映射到具体的某个action类,第二个“*”映射到该类的方法。不过这里要注意的name=”*/*",是相当于客户端要发送如 “Login/init.action”,在地址栏里就变成了/struts/Login/init.action,那服务器到底是会认 /init.action还是/Login/init.action呢。其实服务器默认还是/init.action,如果要使带"/"的action生 效,需要把default.properties中的

struts.enable.SlashesInActionNames = false改为true就可以,其实这样做还挺麻烦的,只要把name写 成"*_*"就不存在斜杠问题了


struts.devMode开发模式

在实际应用开发或者是产品部署的时候,对应着两种模式:

① 开发模式(devMode);此时 DevMode=ture;

② 产品模式(proMode);此时  DevMode=false;

 

在struts.properties或者struts.xml中有devMode的配置,在devMode被激活的模式下,能够明显的提高开发效率,它会提供更多的日志或着debug信息。当然提高开发效率,在性能方面会付出一定的代价。所以struts默认的是非开发模式。设置为开发模式之后:

   1、每次请求都会重新加载资源文件,所以当对properties文件进行修改后,下一次请求是就能够反映相应的变化。

   2、每次请求的时候也会重新加载xml配置文件、验证文件等,这样可以方便调试或者修改相应的配置文件,而不用重新部署重启web服务器。

struts.properties 是可以不要的!!!
因为  struts.xml文件中 有 <constant> 这个节点, 你可以把你想写在struts.properties的自定义配置写在 struts.xml文件当中.

例如,你想 开启 struts2 的开发模式
可以直接在 struts.xml文件当中写上.
<constant name="struts.devMode" value="true“>
不用再去 去创建 一个 struts.properties,并写上 struts.devMode = true

所有的配置项目,其实 你可以去看看 struts2 默认的配置文件 default.properties.
位置在 struts2-core-2.x.x.jar 的 org.apache.struts2 包 下面的

当然,你可能又会问了,如果同时都在两个文件配置了,一个相同的项目,哪个是有效的呢?
他其实是有一个加载顺序的: 先加载 struts.xml,再加载 struts.properties
也就是说 struts.properties 是可以覆盖 struts.xml里面的 配置的,
具体 是否 要 struts.properties ,还是得根据 具体情况,具体分析吧.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值