class属性:action全路径,对应服务器的路径
method属性:action里面默认执行的方法execute方法,
(3)result标签
name属性:和方法返回值一样
type属性: 配置如何到路径中(转发/dispatch或者重定向/redirect)
- 表单对应实体类
package bean; public class User { private String name; private String age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [name=" + name + ", age=" + age + ", address=" + address + "]"; } }
-
表单提交的服务器
package test; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import bean.User; public class InputDemo extends ActionSupport implements ModelDriven<User> { private User user = new User(); @Override public User getModel() { // TODO Auto-generated method stub return user; } public String getUser() { System.out.println(user); return "ok"; } }
服务器类继承ActionSupport 实现 ModelDriven接口,创建一个User实体类并 重写getModel方法得到表单封装数据
-
struts2核心配置文件
<?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="hellodemo" extends="struts-default" namespace="/"> <action name="getUser" class="test.InputDemo" method="getUser"> <result name="ok" type="redirect">/jsp/Success.jsp</result> </action> </package> </struts>
(1)package标签
name属性:
扫描二维码关注公众号,回复: 3995101 查看本文章name属性值根功能本身没有关系的,
- 在一个配置文件中可以写多个package标签,name属性值不能相同的
extends属性
属性值固定的,struts-default
- 写了这个属性之后,在package里面配置的类具有action功能
namespace属性:namespace属性值和action标签里面的name属性值构成访问路径
(2)action标签
name属性:
namespace属性值和action标签里面的name属性值构成访问路径
在package标签里面写多个action标签,但是action的name属性值不能相同的
-
web.xml
<filter> <description>配置struts2的核心过滤器</description> <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>*.action</url-pattern> </filter-mapping>
-
填表页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="../getUser.action" method="post"> 姓名:<input type="text" name="name"/></br> 年龄:<input type="text" name="age"/></br> 地址:<input type="text" name="address"/></br> <input type="submit" value="提交"> </form> </body> </html>