第一个struts2应用
第一个struts2应用
1.在struts配置文件中
<struts>
<package name="itcast" 惟一哦 namespace="/test" extends="struts-default" 继承>
<action name="helloworld" action的名称 class="cn.itcast.action.HelloWorldAction" action的类 method="execute" 交给这个方法处理>
<result name="success">/WEB-INF/page/hello.jsp</result>相当于struts1的forward定义视图
</action>
</package>
</struts>
package包管理Action作用和java中的类包很相似它主要用于管理一组业务功能相关的action
主要供其它包继承使用 命名空间的作用为访问该包下Action的路径的一部分,如访问路径为:/test/hellworld.action
和struts1的配置做个比较
<action path="/control/center/main" forward="/WEB-INF/page/controlcenter/default.jsp"/>
<package name="itcast" 惟一哦 namespace="/control/center/" extends="struts-default">
<action name="main" class="cn.itcast.action.HelloWorldAction" method="execute">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
struts2的核心功能都是通过拦截器来实现的一定要继承这个包在核心jar文件中定义struts2-core-2.1.8.jar
abstract="true"包可以通过这个属性定义为抽象包,抽象包中不包含action
如何新建包里的Action呢?
src右击New-->Class-->Name为配置文件中action的class属性中的HelloWorldAction而Package为cn.itcast.action点击finish
当然要创建execute方法返回类型必须是String类型这是struts2中Action方法的格式return视图的名称希望回到什么视图就放那个定义好的视图名称即"success"
在WEB-INf下的New -->新建一个文件夹New Folder在新建一个JSP
如何访问Action首先是找到命名空间的值action的name值
就是 http://localhost:8080/struts2/control/center/main
第一步配置一个包 在包中配置一个action新建action和新建视图方法的签名一定要返回视图的名称并且是String类型
输入无侵入式设置用不到框架中的类
第一个应用的问题如打尖括号没有提示
1.机器需要连接到互联网
2.找到dtd文件搜索 struts-2.0.dtd 搜索到后在菜单栏window-->Preferences-->MyEclipse Enterprice-->Files and Editors-->XML-->XML CataLog-->Add添加进去就可以了选择Loction-->File System文件系统 Key TYpe 选择URL
Key 值是http://struts.apache.org/dtds/struts-2.0.dtd 点击OK 还有红叉的 按回车<struts>