最简单的struts运用

好久没用了,忽然想玩玩的时候,发现虽然有思路但费了好久才配出来,做此文章紧回忆:

需要最少jar包

  

    struts2-core-2.3.3.jarStruts 2框架的核心类库

     xwork-core-2.3.3.jarCommand模式框架,WebWorkStruts2都基于xwork 

     ognl-3.0.5.jar  对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性

     freemarker-2.3.19.jarStruts 2UI标签的模板使用FreeMarker编写

     commons-logging-1.1.x.jarASF出品的日志包,Struts 2框架使用这个日志 包来支持Log4JJDK 1.4+的日志记录。

     commons-fileupload-1.2.2.jar: 文件上传组件,2.1.6版本后需要加入此文件

     commons-io-2.0.1.jar:传文件依赖的jar

     commons-lang3-3.1.jar:对java.lang包的增强

   asm-3.3.jar:提供了字节码的读写的功能,包含了核心的功能,而其他的 jar包都是基于这个核心的扩展.

  asm-commons-3.3.jar:提供了基于事件的表现形式。

  asm-tree-3.3.jar:提供了基于对象的表现形式。 

  javassist-3.11.0.GA.jar:代码生成工具, struts2用它在运行时扩展 Java

1、JSP页面

  <s:form action="wsp_login" method="post">
          <s:textfield label="姓名"/>
          <s:submit value="提交"/>
      </s:form>
      <a href="${ pageContext.request.contextPath }/wsp_login.action">点击我</a>
    <form action="${ pageContext.request.contextPath }/wsp_login.action" method="post" >
        数字一:<input type="text" name="num1">
        数字二:<input type="text" name="num2">
        和为:${sum }
        <input type="submit" value="提交">
    </form>

2、web.xml文件最简单配置

  <!--
    FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!
    StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!
    struts的配置简单的就这一个过滤器就ok了
     -->
    <filter>
        <filter-name>strutsFilter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>strutsFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

3、struts.xml配置

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
      "http://struts.apache.org/dtds/struts-2.3.dtd">
  <struts>

      <package name="pack" namespace="/" extends="struts-default">
          <action name="wsp_*" class="cn.wsp.MyTest" method="{1}">
              <result name="success">/index.jsp</result>
          </action>
      </package>
  </struts>

4、action接受处理

  package cn.wsp;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class MyTest extends ActionSupport{
    private int  num1;
    private int num2;
    private int sum;
   
    public int getNum1() {
        return num1;
    }

    public void setNum1(int num1) {
        this.num1 = num1;
    }

    public int getNum2() {
        return num2;
    }

    public void setNum2(int num2) {
        this.num2 = num2;
    }

    public String login()
    {
        sum = num1+num2;
        ServletActionContext.getRequest().setAttribute("sum", sum);
        return SUCCESS;
    }
}

  

原文地址:https://www.cnblogs.com/dieyf/p/4099248.html