创建struts2项目
勾选生成web.xml文件
配置项目
打开项目后,首先导入struts2所需的jar包,关于这个,我们可以在下载的struts包中struts-2.3.34/apps中找到struts2-blank.war文件,解压,
- 进入src->找到lib文件夹, 将里面的jar文件全部复制到 我们创建的项目中 /WEB-INF/lib 中
- 在java src中创建 struts.xml文件
- 配置web.xml文件,配置Struts的核心过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<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>
构建项目
这里是做一个输入产品信息并显示在另一个页面上的功能
- 创建action
实际就是创建一个处理业务逻辑的Java类,
package com.theodore.struts2;
public class Production {
private int proId;
private String proName;
private String proDesc;
private String proPrice;
public Production(int proId, String proName, String proDesc, String proPrice) {
this.proId = proId;
this.proName = proName;
this.proDesc = proDesc;
this.proPrice = proPrice;
}
public Production() {
}
@Override
public String toString() {
return "Production{" +
"proId=" + proId +"," +
"proName=" + proName + "," +
"proDesc=" + proDesc + "," +
"proPrice=" + proPrice +
"}";
}
public int getProId() {
return proId;
}
public void setProId(int proId) {
this.proId = proId;
}
public String getProName() {
return proName;
}
public void setProName(String proName) {
this.proName = proName;
}
public String getProDesc() {
return proDesc;
}
public void setProDesc(String proDesc) {
this.proDesc = proDesc;
}
public String getProPrice() {
return proPrice;
}
public void setProPrice(String proPrice) {
this.proPrice = proPrice;
}
public String save() {
System.out.println("result:" + this);
return "detail";
}
}
- 在struts.xml文档中配置这个action
其实质就是告诉页面如何使用这个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="helloworld" namespace="/" extends="struts-default">
<action name="product-input">
<result>/pages/input.jsp</result>
</action>
<action name="product-save" class="com.theodore.struts2.Production" method="save">
<result name="detail">/pages/details.jsp</result>
</action>
</package>
</struts>
- jsp页面
- index.jsp
<a href="product-input.action">Product Input : </a>
- input.jsp
<form action="product-save.action" method="post">
ProductName: <input type="text" name="proName"><br/>
ProductDesc: <input type="text" name="proDesc"><br/>
ProductPrice: <input type="text" name="proPrice"><br>
<input type="submit" value="确认"><br/>
</form>
- detail.jsp
<body>
ProductId: ${proId} <br><br>
ProductName: ${proName} <br><br>
ProductDesc: ${proDesc} <br><br>
ProductPrice: ${proPrice} <br><br>
</body>
这里可以直接使用action中的变量名,因为struts2 中已经为我们配置好了对应关系。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。