Struts2的环境搭建与接传值
来源:互联网 发布:淘宝怎么退货手机版 编辑:程序博客网 时间:2024/06/06 17:23
什么是Struts2
Apache Struts是一个免费的开源MVC框架,用于创建优雅的现代Java Web应用程序。它支持约定而不是配置,可以使用插件体系结构进行扩展,并附带支持REST,AJAX和JSON的插件
官网 : http://struts.apache.org/
英语不好的同学可以用谷歌浏览器,自带翻译
搭建Struts2开发环境
准备 :
- 下载Struts2的所有jar包
- 解压struts-2.3.24/apps里的struts2-blank.war文件(本示例用的是 struts-2.3.24 版本)
- 进入struts2-blank 是Struts2提供的一个空的示例项目
搭建环境 :
- 创建一个web项目TestStruts2
- 将struts2-blank/WEB-INF内的lib包复制到TestStruts2/WEB-INF内
- 打开struts2-blank/WEB-INF/web.xml复制struts2过滤器到TestStruts2/WEB-INF/web.xml里
- 打开struts2-blank/WEB-INF/classes文件夹,复制struts.xml到TestStruts2/src内。
至此Struts2的开发环境就搭建完成了,下面我们进行一下测试 :
Struts2测试
- 在com.laolang.action.test包下创建一个TeatAction控制器
package com.laolang.action.test;/** * 标题: TestAction.java * 路径: com.laolang.action.test * 描述: 测试Struts2控制器 * 作者: 郎国峰 * 时间: 2017年11月17日 下午12:38:22 * 版本: @version V1.0 */public class TestAction { /** * @方法名: test * @描述: 测试Struts方法 * @作者: 郎国峰 * @时间: 2017年11月17日 下午12:40:29 * @return */ public String test(){ System.out.println("===TestAction控制器 method : test()==="); return "test"; }}
- 创建一个index.jsp欢迎页,并添加一个超链接请求
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <h1>Struts2欢迎页</h1> <a href="<%=request.getContextPath()%>/test!test.action">test请求,跳转到test页</a></body></html>
- 创建一个测试页test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <h1>测试Stuts2跳转页面</h1></body></html>
- 在Struts2中添加一个请求 , 在Struts2中一个action就是一个请求, 也就是在struts.xml里添加action节点 , 我们复制过来的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> <!-- 作者:郎国峰 时间:2017年11月17日11:46:04 描述:该属性设置Struts2是否支持动态方法调用,默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <!-- 作者:郎国峰 时间:2017年11月17日11:50:12 描述:启动开发模式,启动开发模式之后,在你修改过struts.xml配置文件后,不需要重新启动项目,否则会很麻烦,默认是false --> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <!-- 作者:郎国峰 时间:2017年11月17日12:03:53 描述:配置一个action,也就是一个请求 --> <action name="test" class="com.laolang.action.test.TestAction"> <result name="test">/test.jsp</result> </action> </package></struts>
配置请求的几种方法:
- 直接发出请求,控制器默认运行的方法名为execute
- 动态方法调用(直接在请求里指定要运行的方法)
- 配置文件中,在action节点中添加method属性指定要运行的方法
> ——–页面请求 href=”<%=request.getContextPath()%>/test!test.action” , ! 前的test要和配置文件中action的name值相同, ! 后的test是指定请求控制器中的哪一个方法, 要和控制器里的方法名相同
本示例使用动态方法调用—————至此就可以启动项目发送请求了
Struts2接传值
- Struts2控制器接值–基本数据
Struts2控制器接值接基本数据的时候 , 页面正常传值 , 需要在控制器中天剑对应的属性和get,set方法,控制器里的属性名和页面的name属性的值需要相同,就能够接到值.
- Struts2控制器接值–集合
页面有很多name属性的值相同时,控制器就可以用集合型接值 , 比如说jsp页面有三个name属性相同,都是name='ids' , name控制器就可以写成 String[] ids; List ids; Set ids; ,写一个就可以,然后生成set get方法.
- Struts2控制器接值–封装对象接值
封装对象页面写法为 name=对象.属性 ,控制器接值声明一个对象(set和get方法) 要求:”对象.属性”的属性必须是控制器中声明对象的类中的属性
- Struts2控制器向页面传值
其实控制器向页面传值完全不用我们来操作,Struts2会将所有的值都传给页面,在页面我们可以用Struts2标签进行接值 , 比较喜欢<s:debug> 标签 , 能够查看值栈中的所有的值 , 另外我取值的时候比较喜欢用EL表达式取值,特别方便.
特别提醒 : 因为Struts2会将所有的值都传递到页面 , 如果需要和Spring进行整合的时候 , Struts2的控制器应该用原型模式!!!
- 接传值的相关示例代码我就不单独粘贴了,有需要的可以下载示例源代码
源码下载
提示 : 测试时请输入正确的日期合适,本示例没有写js校验 格式 : 2017-09-09
链接: https://pan.baidu.com/s/1slbULxN 密码: 8zxz
阅读全文
0 0
- Struts2的环境搭建与接传值
- struts2的环境搭建
- Struts2环境的搭建
- Struts2的环境搭建
- Struts2的环境搭建
- struts2的环境搭建
- struts2环境的搭建
- struts2的环境搭建
- Struts2环境的搭建
- Struts2环境的搭建
- 搭建 Struts2 的环境:
- Struts2的环境搭建
- Struts2 的环境搭建
- Struts2 环境的搭建
- Struts2环境搭建与测试
- struts2的环境搭建问题
- 搭建Struts2的开发环境
- 搭建struts2的开发环境
- django学习——如何配置404、500页面
- pom.xml标签详解
- ANR 出现广播超时的分析
- CentOS7下安装SVN服务
- sizeof的应用
- Struts2的环境搭建与接传值
- 基于Flume+Log4j+Kafka的日志采集架构方案
- 腾讯云批量计算:用搭积木的方式构建高性能计算系统
- MNIST简单版调参
- log4j配置
- 第二章 一切皆是对象
- Java 多态之“绑定”
- C语言中各种数据类型中所占的字节和取值范围
- CSS巩固学习之二