如何给webwork的action里的Field设置初始值

前两天在做javamail的时候发现原来的上传的action把上传文件的路径写在action里面了。那个目录是服务器上的地址,真bad smell。我就想把它改成可以配置的。我给uploadaction添加了一个string 的字段uploadDirectory。在action的配置文件里面给设置了初始值。
         < action  name ="fileupload"  class ="cn.com.fivefortunes.upload.FileUpload" >
            
< param  name ="uploadDirectory" > D:\tomcat5\webapps\files </ param >   <! –D:\temp – >
            
< result  name ="success"  type ="freemarker" > /upload/upload.ftl </ result >
            
< interceptor-ref  name ="fileUpload" />
            
< interceptor-ref  name ="params" />
        
</ action >

可是这样我还是不可以debug的时候发现uploadDirectory是null。不知道怎么回事情了。就到 http://wiki.opensymphony.com 来search了一下,没想到真有。
How do I get static parameters into my action
这个就是我的问题。原来是要加上一个inteceptor。
< action  name ="fileupload"  class ="cn.com.fivefortunes.upload.FileUpload" >
            
< param  name ="uploadDirectory" > D:\tomcat5\webapps\files </ param > <! – D:\temp – >
            
< result  name ="success"  type ="freemarker" > /upload/upload.ftl </ result >
            
< interceptor-ref  name ="fileUpload" />
            
< interceptor-ref  name ="params" />
            
< interceptor-ref  name ="static-params" />
        
</ action >

这样就可以了。不过还是觉得不怎么爽。发布的时候还是要记得修改那个xwork的配置文件。

你可能感兴趣的:(freemarker,Webwork)