时间:2021-05-02
struts2 概述:
struts2 是一个用来开发 mvc 应用程序的框架,他提供了 web 应用程序开发过程中的一些常见问题的解决方案,比如对于用户输入信息合法性的验证,统一的布局,国际化等,既然有 struts2 那么肯定有 struts1,但是从本质上讲 struts2 不是从 struts1 扩展而来的,更应该说是一种换了品牌标签的 webwork 更合适。
struts1 vs struts2
struts2 环境搭建
新建 model,并勾选 struts2 ,之后选择 struts2 所要使用的 library,你可以直接在新建页面中选择 download 进行下载,也可以提前下载好 struts2 所需要的 jar 包自己构建(这里我选择自己构建的 library)
ttp://struts.apache.org/download.cgi#struts2516在此页面可以选择自己所要使用 struts2 版本
点击下一步之后为自己的 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
? 1 2 3 4 5 6 7 8 9 10 11 12 <?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> <package name="helloworld" extends="struts-default"> <action name="input" class="com.struts2.hello.test.customer" method="print"> <result name="print">/show.jsp</result> </action> </package> </struts>customer.java
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <%@ page contenttype="text/html;charset=utf-8" language="java" %> <html> <head> <title>input</title> </head> <body> <table> <form action="input.action" method="post"> <tr> <td>username</td> <td><input type="text" name="username"></td> </tr> <tr> <td>email</td> <td><input type="text" name="email"></td> </tr> <tr> <td>address</td> <td><input type="text" name="address"></td> </tr> <tr> <td><input type="submit" value="submit"></td> </tr> </form> </table> </body> </html>show.jsp(只展示 body 标签内容)
? 1 2 3 username: ${username}<br> email: ${email}<br> address: ${address}<br>代码详解
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.cnblogs.com/bgzyy/p/8639893.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在慕课网学习struts2入门课程,在官网下载的最新的struts-2.5.5-all.zip,JDK使用的是jdk1.6,Tomcat9.0,一直报错【jav
前言之前已经给大家介绍了关于struts2的入门教程,本文接着上次的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案。当然,如果读者发现任
首先是搭建Struts2环境。第一步下载Struts2去Struts官网http://struts.apache.org/下载Struts2组件。截至目前,st
Freemarker入门示例FreeMarker整合Struts2示例SiteMesh入门示例那么如何将Freemarker与SiteMesh结合起来使用,这在
近期学习了SSH2(Struts2+Spring+Hibernate)的整合后,开始尝试的写一个登陆界面,结果发现:若是单单使用struts2来进行页面跳转的话