十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Struts2 概述:
创新互联作为成都网站建设公司,专注重庆网站建设公司、网站设计,有关企业网站建设方案、改版、费用等问题,行业涉及湿喷机等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
Struts2 是一个用来开发 MVC 应用程序的框架,他提供了 Web 应用程序开发过程中的一些常见问题的解决方案,比如对于用户输入信息合法性的验证,统一的布局,国际化等,既然有 Struts2 那么肯定有 Struts1,但是从本质上讲 Struts2 不是从 Struts1 扩展而来的,更应该说是一种换了品牌标签的 WebWork 更合适。
struts1 VS struts2
Struts2 环境搭建
新建 Model,并勾选 Struts2 ,之后选择 Struts2 所要使用的 library,你可以直接在新建页面中选择 Download 进行下载,也可以提前下载好 Struts2 所需要的 jar 包自己构建(这里我选择自己构建的 library)
http://struts.apache.org/download.cgi#struts2516 在此页面可以选择自己所要使用 Struts2 版本,同样大家也可以在创新互联进行本地下载:https://www.jb51.net/softs/539810.html
点击下一步之后为自己的 struts2 项目命名(在命名的时候建议在第二栏 Content Root 的路径后改名,若在第一栏中更改只是更改第一栏的,其余两栏不会被更改)
点击 Finish 完成 Struts2 项目的创建,所创建的项目如下
IDEA VS Eclipse
Struts2 HelloWorld
搭建好 Struts2 的开发环境之后我们开始第一个 Struts2 程序的编写,其要求为在一个表单中输入用户的基本信息点击提交后跳转到另一个页面显示用户所输入的信息,在没有学习 Struts2 之前这对于我们来说非常简单,仅需要将页面请求发送到 Servet 中响应请求到另一个页面,使用 EL 和 JSTL 将信息显示即可。对于 Struts2 这当然也算是一个 HelloWorld,我们将借此实例开始 Struts2 各方面的知识讲解。
在 index.jsp 中编写页面代码,供用户输入基本信息,如下:
依据表单 name 属性编写实体类,并创建 getXxx 和 setXxx 方法,Customer.java
在 struts.xml 文件中编写代码处理 struts2 请求
返回显示页面 show.jsp
struts.xml
<?xml version="1.0" encoding="UTF-8"?>/show.jsp
Customer.java
package com.struts2.hello.test; /** * Created by shkstart on 2018/03/24. */ public class Customer { private String userName; private String email; private String address; /* * getXxx() setXxx() 方法 **/ public String print() { System.out.println(new Customer()); return "print"; } @Override public String toString() { return "Customer{" + "userName='" + userName + '\'' + ", email='" + email + '\'' + ", address='" + address + '\'' + '}'; } }
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>Input
show.jsp(只展示 Body 标签内容)
UserName: ${userName}
Email: ${email}
Address: ${address}
代码详解
Customer.java 中成员变量和 index.jsp 中的属性一一对应,不忽略大小写;
show.jsp 中用于显示的和 Customer.java 中的成员变量一致,否则无法显示
index.jsp 中的 form 表单 action 值应该设置为struts.xml 文件中的 action 的name 属性
struts.xml 文件中的 action 节点的 method 属性应 Custome.java 中的 String print()
方法,result 节点的 name 属性为
String print()
方法的返回值
result 节点的值为处理了该 struts2 请求后所响应的页面
对于 show.jsp 页面的显示我们在后面会详细讲解有关知识,至此我们 Struts2 的 HelloWorld 就到这里,我相信和我一样的小白跟着做下去应该不会出什么大的差错!!
struts.xml 文件节点
package 属性 --- struts2 使用 package 来组织模块
action 属性 --- 一个 struts2 请求就是一个 action
一个 action 可以有多个 result 子节点,多个 result 子节点使用 name 属性区分
result 节点的 type 属性默认为 dispatcher(转发),表示结果的响应类型
Action VS action
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对创新互联的支持。