这个struts配置起来相当麻烦。。。由于是采用XML来配置,很多时候就超容易出错,调试了半天,人都要疯了,结果发现原来是配置出了问题。其他人有没有同感?为了不让自己忘掉这多如牛毛的配置,把几个我走过的坑记一下。
开发者模式配置
开发者模式配置,要想struts上的配置改变,tomcat随之实时改变,就要设置struts为开发者模式
<constant name="struts.devMode" value="true" />
动态方法配置
要想使用动态方法必须配置
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
dtd环境配置
Dtd文档类型定义(Document Type Definition)是指在myeclipse中编码时,能够出现的自动代码提示
首先在dtd的位置
然后打开myeclipse的配置,选择添加 add
location找刚才显示的位置
keyType选url
url是struts.xml上的dtd配置文件地址
修改Action编码方式
Window-prefernces-搜索“jsp” –Encoding:Chinase,Nationl
在jsp中使用Struts 标签
在jsp中加上
<%@taglib uri=”/struts-tags” prefix=”s” %>
以后就可以使用< s >标签作为struts标签了
uri怎么选配可以参见
默认Action配置
当访问地址没有指定Action时,或没找到指定的Action时,配置下面的配置,则struts则会指向名为hello的Action
<default-action-ref name="hello" />
全局结果集配置
在同一包内,任意action都可以指向你配的global-results
<global-results>
<result name="other" >
/hello.jsp
</result>
</global-results>
如果想要跨包使用则需要在包的配置中
改变extends为global-result所在的那个包中
访问静态方法(静态属性)
Struts必须加上
<constant name ="struts.ognl.allowStaticMethodAccess" value="true"></constant>
在jsp文件中:
@类名(全称)@方法名(属性名)
访问Math的静态方法 @@max(2,3)