关于Struts2的相关知识总结及应用

Struts知识总结

首先来了解几个基础的相关概念:
1、Struts2的核心控件—StructsPrepareAndExecuteFilter核心控制器
StructsPrepareAndExecuteFilter是一个Servlet的过滤器,作用于整个web应用程序,该过滤器对所有请求进行过滤处理。

代码示例(在web.xml中配置):<filter>
        <display-name>Struts2的配置</display-name>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

2、业务控制器Action,它是一个POJO类(只有属性和方法的类),其中必须定义execute方法。要知道Structs的控制器就是由这两部分组成的

就像这样的(在POJO类中定义):
public String execute() {
        Calculator biz = new Calculator();
        double result = biz.add(num1, num2);
        // 将计算结果存入Session中
        ActionContext.getContext().getSession().put("result", result);
        return "cal";
    }

3、Structs2的配置文件包括配置Action的Structs.xml文件和配置structs2全局属性structs.properties文件。

配置实例(新建一个structs.xml文件进行配置):
<struts>
    <!-- 指定Struts2处于开发阶段,可以进行调试 -->
    <constant name="struts.devMode" value="true" />
    <!-- Struts2的Action都必须配置在package里 -->
    <package name="p1" extends="struts-default" namespace="/admin">
    <!-- 定义一个login的Action,实现类为com.dh.LoginAction -->
        <action name="login" class="com.dh.ch02.action.LoginAction">
        <!-- 配置execute()方法返回值所对应的页面 -->
            <result name="error">/error.jsp</result>
            <!--  如果result标签不配置name属性,其默认为success  -->
            <result>/success.jsp</result>
        </action>
    </package>

    <package name="p2" extends="struts-default">
        <action name="add" class="com.dh.ch02.action.AddAction">
            <result name="cal">/pages/result.jsp</result>
        </action>
    </package>

</struts>

(未完待续。。。)

猜你喜欢

转载自blog.csdn.net/DoWhatYouSay/article/details/78470038