【 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 ...
随机推荐
- 模拟退火SA刷题记录
洛谷P1337 [JSOI2004]平衡点 / 吊打XXX 基本上是照着别人的代码写的,模拟退火为什么一定能找到答案呢...迷惑,,有时间搜一搜证明啥的 sa步骤:这个是要确定一个(xi,yi)使得函 ...
- IntelliJ IDEA 2019.3安装与激活(附注册码)
转载声明:本文是根据 https://segmentfault.com/a/1190000021220727?utm_source=tag-newest 并结合个人的安装完成情况进行了改动,从而生成此 ...
- spring中实现基于注解实现动态的接口限流防刷
本文将介绍在spring项目中自定义注解,借助redis实现接口的限流 自定义注解类 import java.lang.annotation.ElementType; import java.lang ...
- TC基础与自动化
前言 互联网产品的测试常常要覆盖在不同网络下的表现,例如丢包,带宽受限,时延及抖动等网络较差的情况,为了测试场景的网络情况可定义及复现,就需要有个工具对弱网进行模拟.业界一些通用的弱网模拟工具,如NE ...
- Java中数字的格式化输出
Java中数字的格式化输出 double d = 345.678; String s = "hello!"; int i = 1234; //"%"表示进行格式 ...
- (转)eclipse调试java程序的九个技巧
转自:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...
- OpenGL 3D拾取文章(转)
参考文章 深入探索3D拾取技术 OpenGL 3D拾取 射线和三角形的相交检测(ray triangle intersection test) 3D拾取的方法有两种 1.基于几何计算的射线-三角形相交 ...
- HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out的解决方法
问题描述: Pycharm创建Django项目提示:HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed o ...
- yii2模型
多对多可以使用all()来调用 对数据提供者进行修改 /** * Lists all ArticleCate models. * @return mixed */ public function ac ...
- vue的$on,$emit
使用 $on(eventName) 监听事件使用 $emit(eventName) 触发事件 Api 中的解释: vm.$emit( event, […args] ) 参数: {string} eve ...