今天刚开始学Struts2就出错... 慢慢出错,慢慢积累
1. 启动Tomcat是报空指针异常..
struts.xml里配置struts.devMode为true的时候 也就是
<constant name="struts.devMode" value="true" />
Tomcat的路径一定不能带空格,否则启动Tomcat的时候就会报空指针。注意Tomcat文件夹的名字 如我以前的 ../Tomcat 6.0/.. 改为Tomcat6.0就可以了
2. 在web.xml 中配置的filter
我用的是Struts2.1.6,在网上看了下,版本不一样 filter的<filter-class>也略有不同。 所以自学的时候别弄错filter
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3. struts.xml中Action的配置
*StudentInfo是指以StudentInfo为后缀的Action都归他,有多个name一样的就从上向下排。
{1}指的是第一个*号的内容。也就是通配符。要使用通配符Action的名字和Action里的方法名字一定要有规律
<package name="default" namespace="/" extends="struts-default"> <action name="*StudentInfo" class="actionTest.StudentInfoAction" method="{1}StudentInfo"> <result name="studentInfo">/studentInfo.jsp </result> <result name="stuInfoAction" type="chain">getAllStudentInfo</result> <result name="update">/updateStudentInfo.jsp </result> </action> </package>
4. Action resultType
result 应该常用的Type有3个.
dispatcher :result不写type 默认就是dispatch 只能分发到页面
redirect : 重定向到页面
chain : 只能分发到Action
result可以像地址栏传参一样用?传递参数