struts2 零配置所需的包及示例

所需的包:
asm-3.3.jar
asm-commons-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
freemarker-2.3.18.jar
javassist-3.11.0.GA.jar
ognl-3.0.3.jar
struts2-convention-plugin-2.3.1.1.jar
struts2-core-2.3.1.1.jar
xwork-core-2.3.1.1.jar

缺少jar包会报无法加载类,无法加载上下文等等错误。

说明:
1 创建动态的web工程。
2 新建index.jsp到WebContent目录下
3 配置web.xml.可以直接参考struts2的下载包中的apps目录中的struts2-blank.war中的配置。
4 去掉struts.xml中多余的配置
      加入<constant name="struts.action.extension" value="action"></constant>
  表示接受/*.action模式的url的请求
  struts.xml放在src目录下(classpath中)
5 编写TestAction他有一个方法convention返回的字符串为"convetion"
  TestAction放在actions包下面,这是默认的规则。
6 编写convetion.jsp。
  convetion.jsp放在WEB-INF/content/下面,这是默认的规则。

启动项目后访问http://localhost:8080/future/test!convention.action
将调用到actions.TestAction的convention方法,返回的是"convetion",所以自动匹配到content/convetion.jsp文件。


如果有一个MytestAction类放在net.zcmusicbox.test包下
以http://localhost:8080/future/mytest!input.action访问
需要在struts.xml中定义<constant name="struts.convention.action.packages" value="net.zcmusicbox.test" />
否则会报错:
There is no Action mapped for namespace [/] and action name [custom] associated with context path [/tempTest].

因为struts2的convention插件默认只会在struts struts2 action actions结尾的包中查找Action类。

你可能感兴趣的:(struts)