java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Struts2入门小白的开始

Struts2学习教程之入门小白的开始基础

作者:bgzyy

struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码。下面这篇文章主要给各位想要学习Struts2的小白们详细介绍了关于Struts2入门的一些开始基础,需要的朋友可以参考下

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"?>

<!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

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" %>
<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 标签内容)

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:
阅读全文