strust2的配置 以及action接受参数

1.配置pom.xml

<!-- struts2-core -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.3.28</version>
    </dependency>
    <!-- java servlet api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

 

2.resources文件夹下面配置struts.xml   配置<package> <action>文件

<?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="default" namespace="/" extends="struts-default">
        <!--2.5版本必须加,安全性考虑-->
        <!--<global-allowed-methods>regex:.*</global-allowed-methods>-->
        <action name="user_*" class="com.test.controller.UserAction" method="{1}">
       <!--<result>login.jsp</result>-->
            <result  name="index">{1}.jsp</result>
            <result  name="add">{1}.jsp</result>
            <result name="edit">{1}.jsp</result>
        </action>
    </package>
</struts>

3.web.xml中配置struts的过滤器

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
<!--配置struts2的过滤器-->
  <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>
</web-app>
  1. struts.xml文件配置介绍

3.1package配置

  1. name属性   作用:定义一个包的名称,它必须唯一.
  2. Namespace属性 作用:主要是与action标签中的name属性联合使用来确定一个action的访问路径
  3. extends属性        作用:主要是制定继承自哪个包,一般值为struts-default

     Struts-default包是在struts-default.xml文件中声明的(位置:struts2-core.jar包中)

    4.abstract属性       它代表当前包是一个抽象的,主要用于被继承

3.2action配置

  1. name属性 作用:主要是与package标签中的namespace属性联合使用来确定一个action的访问路径
  2. class属性     作用:主要是用来指示当前的action类的全路径类名
  3. method属性 作用:用于指示当前action类中的那个方法去执行

3.3result配置

       它主要是用于指示结果视图,包含再action标签中

  1. name属性 作用:是与action类中的method方法的返回值进行匹配,来确定跳转路径

    2.type属性      作用是用于指定跳转方式(在struts2-core.jar/struts-default.xml中可以找到)

    Action的属性接收参数

   Controller层建UserAction 类  PO层建User

public class UserAction  extends ActionSupport  implements
        RequestAware,SessionAware ,ApplicationAware {
    private User user;
   private Map<String, Object> request;
   private Map<String, Object> session;
    private Map<String, Object> application;
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    public String index(){
        System.out.println("user:"+user);
       request.put("user",user.getUser());
       request.put("pass",user.getPass());
       session.put("user",user.getUser());
       session.put("pass",user.getPass());
        return "index";
    }
    @Override
    public void setRequest(Map<String, Object> request) {
        this.request=request;
    }
    @Override
    public void setSession(Map<String, Object> session) {
     this.session=session;
    }
    @Override
    public void setApplication(Map<String, Object> application) {
        this.application=application;
    }

   

public class User {
    private String user;
    private String pass;
    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }
    public String getPass() {
        return pass;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
    public User(String user, String pass) {
        this.user = user;
        this.pass = pass;
    }
    public User() {
    }
    @Override
    public String toString() {
        return "User{" +
                "user='" + user + '\'' +
                ", pass='" + pass + '\'' +
                '}';
    }
}

 

前端界面建login.jsp登录界面 index.jsp跳转后界面

index界面

<body>
<h2>request</h2>
<%--<a href="user_add">添加</a>--%>
<%--<a href="user_edit">编辑</a>--%>
用户名:${requestScope.user}密码:${requestScope.pass}
<h2>session</h2>
用户名${sessionScope.user}密码${sessionScope.pass}
</body>
</html>

login界面

<body>
<form   action="user_index">
    <input type="text" name="user.user" value="admin">
    <input  type="password" name="user.pass" value="admin">
    <input type="submit" value="登录">
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值