Struts2 入门修行第一天 | 小节二
通过上一篇我们基本搭建一个 Struts2 环境成功啦,现在我们页面需要数据传递等
我们这里把第一个页面修改为一个添加数据的页面,在第二个页面显示第一个页面录入的数据
1. 在这里新建一个JavaBean Person.java
1 package com.cookie.bean; 2 3 public class Person { 4 5 private Integer id; 6 private String name; 7 private String desc; 8 9 public String detail(){ 10 // 打印当前对象到控制台 11 System.out.println(this); 12 // 给当前对象编号赋值 13 this.setId(1001); 14 15 return "success"; 16 } 17 18 public Integer getId() { 19 return id; 20 } 21 public void setId(Integer id) { 22 this.id = id; 23 } 24 public String getName() { 25 return name; 26 } 27 public void setName(String name) { 28 this.name = name; 29 } 30 public String getDesc() { 31 return desc; 32 } 33 public void setDesc(String desc) { 34 this.desc = desc; 35 } 36 37 @Override 38 public String toString() { 39 return "Person [id=" + id + ", name=" + name + ", desc=" + desc + "]"; 40 } 41 }
2. 修改之前 index.jsp 为
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <form action="detail.action" method="post"> 11 name: <input type="text" name="name" /><br><br> 12 desc: <input type="text" name="desc" /><br><br> 13 <input type="submit" value="submit" /> 14 </form> 15 </body> 16 </html>
3. 修改之前的 detail.jsp 为
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body>id: ${id}<br><br>name: ${name}<br><br>desc: ${desc}<br><br> </body> </html>
4. 修改之前的 struts.xml 为
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 6 <struts> 7 <package name="hello" extends="struts-default"> 8 <action name="detail" class="com.cookie.bean.Person" method="detail"> 9 <result>/detail.jsp</result> 10 </action> 11 </package> 12 </struts>
5. 启动项目 运行
在第一个画面两文本框中分别输入,zhangsan / 小学生 , 然后点击提交按钮
1). 在控制台中输出 Person [id=null, name=zhangsan, desc=小学生]
2). 在第二个页面 1001 / zhangsan / 小学生
6. 通过上面例子,得出,第一个页面把输入提交上去并复制给 Person 对象, 在Person 下面的detail 方法中给当前对象复制一个编号,也回传到第二个界面
7. 这里来解析哈上面一串操作
1). package: 三个属性
|-----name: 给当前 package 定义一名称
|-----extends: 指定当前 package 继承哪一个 package (这里struts-default 为 struts2 提供的一个默认设置,里面有很多默认类,返回类型什么的,可以去 struts-default.xml 中取仔细查看)
|-----namespace: 指定当前模块路径,及默认值为 / 也可以指定一个值,例:namespace="/hello" 那么访问action 路径前就得加上 /hello
2). action: 三个属性
|-----name:当前 action 路径,这里不带后缀
|-----class:当前 action 映射的 java 类(默认为:com.opensymphony.xwork2.ActionSupport)
|-----method: 当前 action 路径具体访问的方法(默认为:execute)
3). result: 两个属性
|-----name: action映射方法的返回值(默认为:success)
|-----type: 页面跳转方式(默认为:转发[dispatcher])
|-----chain:转发到 action
|-----dispatcher: 转发到 jsp
|-----redirectAction: 重定向到 action
|-----redirect: 重定向到 jsp
|-----stream: 文件上传
8:Person -> detail()
这里会把参数通过set 方法自动给当前 Action 赋值,也可以在该方法中为当前对象属性赋值,修改等,页面通过 EL 表达式获取
转载于:https://www.cnblogs.com/javatochen/p/5896707.html
Struts2 入门修行第一天 | 小节二相关推荐
- Struts2入门教程
2019独角兽企业重金招聘Python工程师标准>>> http://www.chengxuyuans.com 程序员之家 一.准备工作及实例 1.解压struts-2.1.6-al ...
- 深度学习入门极简教程(二)
深度学习入门极简教程(二) 摘要: 现在的人工智能,大致就是用"硅基大脑"模拟或重现"碳基大脑的过程".那么,在未来会不会出现"碳硅合一"的 ...
- xgboost 正则项_XGBoost入门系列第一讲
Boosted Trees 介绍 XGBoost 是 "Extreme Gradient Boosting"的简称,其中"Gradient Boosting"来 ...
- 微信公众号开发入门教程第一篇
微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...
- 机器学习:从入门到第一个模型
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:李春晓 导语: "从入门到第一个模型"差点就成了"从入门到放弃".本文是机器学习在运维场景下 ...
- Struts2 入门
一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...
- TensorFlow入门:第一个机器学习Demo
TensorFlow入门:第一个机器学习Demo 2017年12月13日 20:10:23 阅读数:8604 本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因 ...
- Linux Shell脚本入门教程系列之(二)第一个shell脚本
本文是Linux Shell脚本系列教程的第(二)篇,更多shell教程请看:Linux Shell脚本系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们 ...
- 零基础 Amazon Web Services (AWS) 入门教程图文版(二)
上一篇讲到,主机正常运转了.但是此时如果直接访问公网IP是打不开网页的,因为主机上没有搭建Web服务器环境,防火墙也没有开放80端口,并且我们没有上传任何网页文件.所以这一篇主要介绍服务器环境的搭建. ...
最新文章
- 第1关:最长非降子序列(非连续)问题
- BackTrack5 R2快速更新至BackTrack5 R3
- ADO.NET的记忆碎片(六)
- Apache配置静态缓存
- 我的第一份外包经历及所得
- 查询成绩最好的前两名_SQL查询整理
- CentOS更改主机名
- java方法介绍_Java 方法介绍
- UI自动化测试工具的设计
- 中文文本纠错工具推荐:pycorrector
- 算法分析与设计实验报告一——分治算法
- 快速掌握Python的捷径-Python基础前传(1) 1
- 上海牌照(沪牌)拍牌,软件,手动
- . 尐儍苽 推荐一个专业的社团网站给您
- 用Matplotlib绘制渐变的彩色曲线
- python显示透明图片背景
- win7屏保怎么设置_酷屏保怎么设置?酷开系统不可不知的玩法!
- 多标签文本分类研究进展概述
- 谋杀案和杨辉三角改进版
- 数字化技术加速人才转型 附下载
热门文章
- 自学python数据分析要多久-如果只有1小时学Python,看这篇就够了
- python自学时间-Python 从入门到精通:一个月就够了!
- 脚本编程语言python语言-python语言是脚本语言吗
- python代码示例下载-使用python3批量下载rbsp数据的示例代码
- python3.7 6如何安装-Python 3.7.1在CentOS 6.10 安装部署
- php和python写爬虫-python和php哪个更适合写爬虫
- python if语句多个条件-python if条件判断语句
- python编写一个软件-如何用Python写一个计算器软件 附带效果图
- python爬虫实例-python爬虫实例大全
- python读取txt文件-python txt文件的写入和读取