【 Struts2 配置】Struts2基本搭建
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>
<constant name="struts.i18n.encoding" value="UTF-8"></constant> <package name="struts2-hibernate" extends="struts-default" namespace="/">
<action name="student_*" class="k.action.StudentAction" method="{1}">
<result name="list" type="redirectAction">student_list</result>
<result name="toList">/WEB-INF/student/list.jsp</result>
<result name="toAdd">/WEB-INF/student/toAdd.jsp</result>
<result name="toUpdate">/WEB-INF/student/toUpdate.jsp</result> </action>
</package> </struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
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> <listener>
<listener-class>k.util.StartSystemListener</listener-class>
</listener> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
StudentAction
package k.action; import com.opensymphony.xwork2.ActionSupport;
import k.domain.Student;
import k.service.StudentService;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest;
import java.util.List; public class StudentAction extends ActionSupport {
public String list() {
StudentService service = new StudentService();
List list = service.list();
HttpServletRequest request = ServletActionContext.getRequest();
if (list == null || list.size() <= 0) {
list.add(new Student("默认", 1));
}
request.setAttribute("list", list);
return "toList";
} public String toAdd() {
return "toAdd";
} public String add() {
HttpServletRequest request = ServletActionContext.getRequest();
String name = request.getParameter("name");
String age = request.getParameter("age");
StudentService service = new StudentService();
service.add(new Student(name, Integer.parseInt(age)));
return "list";
} public String toUpdate() {
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
StudentService service = new StudentService();
Student model = service.getModel(id);
request.setAttribute("stu", model);
return "toUpdate";
} public String update() {
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
String name = request.getParameter("name");
String age = request.getParameter("age");
Student student = new Student(name, Integer.parseInt(age));
student.setId(Integer.parseInt(id));
StudentService service = new StudentService();
service.update(student);
return "list";
} public String delete() {
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
StudentService service = new StudentService();
Student model = service.getModel(id);
service.delete(model);
return "list";
}
}
list.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
<title>list</title>
</head>
<body>
<h1><a href="${APP_PATH}/student_toAdd.action">student_toAdd</a></h1>
<form>
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
<th>update</th>
<th>delete</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="stu">
<tr>
<td>${stu.id}</td>
<td>${stu.name}</td>
<td>${stu.age}</td>
<td><a href="${APP_PATH}/student_toUpdate.action?id=${stu.id}">update</a></td>
<td><a href="${APP_PATH}/student_delete.action?id=${stu.id}">delete</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</form>
</body>
</html>
toAdd.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>add</title>
</head>
<body>
<form action="${APP_PATH}/student_add.action" method="post">
<h2><input type="text" name="name" value="测试1"></h2>
<h2><input type="text" name="age" value="11"></h2>
<h2><input type="submit" value="submit"></h2>
</form>
</body>
</html>
toUpdate.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>update</title>
</head>
<body>
<form action="${APP_PATH}/student_update.action" method="post">
<h2><input type="text" name="id" value="${stu.id}"></h2>
<h2><input type="text" name="name" value="${stu.name}"></h2>
<h2><input type="text" name="age" value="${stu.age}"></h2>
<h2><input type="submit" value="submit"></h2>
</form>
</body>
</html>
【 Struts2 配置】Struts2基本搭建的更多相关文章
- web09 struts2配置 struts2入门
电影网站:www.aikan66.com 项目网站:www.aikan66.com游戏网站:www.aikan66.com图片网站:www.aikan66.com书籍网站:www.aikan66.co ...
- STRUTS2配置动态页面
STRUTS2配置动态页面 CreateTime--2017年5月11日09:00:31Author:Marydon 1.struts配置 <?xml version="1.0&q ...
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
- struts2学习笔记--动手搭建环境+第一个helloworld项目
在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下: 前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/ ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- Struts2 框架的快速搭建
方便myEclipse 手动配置Struts2框架,写下此文,需要的朋友拿走不谢~ 一.引入JAR包 WEB工程->WebRoot->WEB-INF->lib引入Struts2对应版 ...
- Struts2配置dtd约束
Struts2和Struts1的区别: 一.elclipse-ee开发 搭建环境eclipse-ee 1.加入jar包 apps/struts2-blank.war解压 2.在web.xml文件中配 ...
- 在Eclipse里面配置Struts2
下面介绍在Eclipse里面配置Struts2 下载Struts2的压缩包 我下载的是2.3.32版本 解压之后如图所示 apps目录:Struts2的范例 docs目录:Struts2的文档 lib ...
- Struts2框架学习(一)——Struts2的概念及搭建
一.Struts2的概念 使用优势:1)自动封装参数 2)参数校验 3)结果的处理(转发|重定向) 4)国际化 5)显示等待页面 6)防止表单重复提交 Struts2具有更加先进的架构以及思想 Str ...
- 配置struts2+spring,springmvc
Struts2+Spring整合 一.spring负责注入,struts2负责它自己的工作.这样不是很符合spring作为ioc容器的全部功能,不推荐. 二.spring负责全部bean和struts ...
随机推荐
- @HystrixCommand 不能被导包
添加pom文件 <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hy ...
- TD - 输入框
模板1:TD - 普通输入框 <input dojoType="bootstrap.form.ValidationTextBox" dojoAttachPoint=" ...
- php中普通类 接口类 抽象类 浅谈
一.普通类 1.关键词:class 类名,继承关键字extends 2.继承:只能实现单继承, 3.多态:子类继承可以实现多种功能 4.封装:类有权限机制,私有的只能自己用,受保护的可以被继承,子类 ...
- R parallel包学习笔记2
这个部分我在datacamp上面学习笔记,可视化的性能很差,使用的函数也很少. 可以参考一下大佬的博客园个人感觉他们讲的真的很详细 https://cosx.org/2016/09/r-and-par ...
- 解决报错Failed to start LSB: Bring up/down networking:MAC地址导致
1.场景描述,我在电脑里装好的虚拟机,今天突然就网络无法打开,并出现如下报错: [root@ansible-control ~]# systemctl start networkJob for net ...
- ArcGIS10:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS
[网络转载] 今天将ArcGIS系列的软件从ArcGIS9.3.1升级到ArcGIS10,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar.LicenseControl以及MapC ...
- 注解 - @Deprecated
意思是说此方法已过时,过时的原因就是有新的API的类替代了次方法. 这个被划去的方法仍然是可以正常使用的,就是一个提示而已. Java内在的File类中有如下方法 @Deprecated public ...
- Android 开发 assets和raw
在Android Project中,有两个文件夹的数据是不会被编译,以原型的方式打包到APK中,这两个文件夹就是 assets 和 res/raw/ 相同点: 1.数据不会编译成二进制字节码. 2.可 ...
- js模板引擎mustache介绍及实例
在Javascript中 mustache.js是实现mustache模板系统. Mustache是一种没有逻辑的模板语法.它可以应用于HTML.配置文件.源代码等任何地方. 它通过使用散列或对象中提 ...
- Python MonkeyRunner 连接设备总是返回连接成功问题
device = mr.waitForConnection(1,deviceName) 当使用waitForConnection时,不管设备是否连接,device总是返回一个对象,所以没有办法通过 i ...