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 表达式获取

posted on 2016-09-22 15:52 Java.小学生 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/javatochen/p/5896707.html

Struts2 入门修行第一天 | 小节二相关推荐

  1. Struts2入门教程

    2019独角兽企业重金招聘Python工程师标准>>> http://www.chengxuyuans.com 程序员之家 一.准备工作及实例 1.解压struts-2.1.6-al ...

  2. 深度学习入门极简教程(二)

    深度学习入门极简教程(二) 摘要: 现在的人工智能,大致就是用"硅基大脑"模拟或重现"碳基大脑的过程".那么,在未来会不会出现"碳硅合一"的 ...

  3. xgboost 正则项_XGBoost入门系列第一讲

    Boosted Trees 介绍 XGBoost 是 "Extreme Gradient Boosting"的简称,其中"Gradient Boosting"来 ...

  4. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

  5. 机器学习:从入门到第一个模型

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:李春晓 导语: "从入门到第一个模型"差点就成了"从入门到放弃".本文是机器学习在运维场景下 ...

  6. Struts2 入门

    一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...

  7. TensorFlow入门:第一个机器学习Demo

    TensorFlow入门:第一个机器学习Demo 2017年12月13日 20:10:23 阅读数:8604 本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因 ...

  8. Linux Shell脚本入门教程系列之(二)第一个shell脚本

    本文是Linux Shell脚本系列教程的第(二)篇,更多shell教程请看:Linux Shell脚本系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们 ...

  9. 零基础 Amazon Web Services (AWS) 入门教程图文版(二)

    上一篇讲到,主机正常运转了.但是此时如果直接访问公网IP是打不开网页的,因为主机上没有搭建Web服务器环境,防火墙也没有开放80端口,并且我们没有上传任何网页文件.所以这一篇主要介绍服务器环境的搭建. ...

最新文章

  1. 第1关:最长非降子序列(非连续)问题
  2. BackTrack5 R2快速更新至BackTrack5 R3
  3. ADO.NET的记忆碎片(六)
  4. Apache配置静态缓存
  5. 我的第一份外包经历及所得
  6. 查询成绩最好的前两名_SQL查询整理
  7. CentOS更改主机名
  8. java方法介绍_Java 方法介绍
  9. UI自动化测试工具的设计
  10. 中文文本纠错工具推荐:pycorrector
  11. 算法分析与设计实验报告一——分治算法
  12. 快速掌握Python的捷径-Python基础前传(1) 1
  13. 上海牌照(沪牌)拍牌,软件,手动
  14. . 尐儍苽 推荐一个专业的社团网站给您
  15. 用Matplotlib绘制渐变的彩色曲线
  16. python显示透明图片背景
  17. win7屏保怎么设置_酷屏保怎么设置?酷开系统不可不知的玩法!
  18. 多标签文本分类研究进展概述
  19. 谋杀案和杨辉三角改进版
  20. 数字化技术加速人才转型 附下载

热门文章

  1. 自学python数据分析要多久-如果只有1小时学Python,看这篇就够了
  2. python自学时间-Python 从入门到精通:一个月就够了!
  3. 脚本编程语言python语言-python语言是脚本语言吗
  4. python代码示例下载-使用python3批量下载rbsp数据的示例代码
  5. python3.7 6如何安装-Python 3.7.1在CentOS 6.10 安装部署
  6. php和python写爬虫-python和php哪个更适合写爬虫
  7. python if语句多个条件-python if条件判断语句
  8. python编写一个软件-如何用Python写一个计算器软件 附带效果图
  9. python爬虫实例-python爬虫实例大全
  10. python读取txt文件-python txt文件的写入和读取