在这个例子中,我们将学习如何在Struts 2中创建一个Hello World例子。
使用以下库或工具:
整个工程结构如下图所示:
启动打开 MyEclipse,创建一个Web工程名称为:struts2-xml-demo,选择 File -> New -> Web Project ,如下图所示:
在这个项目上添加 struts2 的支持,右键点击 struts2-xml-demo 工程,选择 MyEclipse -> Add Struts Capabilities,在弹出的对话框中选择 Strut 2.1,如下图所示:
这是一个JSP登录页面,它使用Struts2标签来显示用户名,密码输入框和提交按钮。
Fie : login.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
Struts 2 Hello World Example
文件: welcome_user.jsp – 一个JSP视图用来页面显示欢迎信息给用户。
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
Struts 2 Hello World 示例
Hello
对 Struts1 和 Struts2 有非常相似的UI标签语法,只是在命名HTML元素,例如,术语有一点不同:
Struts 1
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
Struts 2
<%@ taglib prefix="s" uri="/struts-tags" %>
一个简单的 Struts2 的 Action 类,它里面声明的所有业务逻辑。
File : WelcomeUserAction.java
package com.yiibai.user.action;
/**
*
* @author yiibai.com
*
*/
public class WelcomeUserAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
// all struts logic here
public String execute() {
return "SUCCESS";
}
}
在Struts2中,Action类实现任何接口或扩展任何类不是必需的,但它需要创建一个execute()方法来实现所有的业务逻辑,并返回一个字符串值,告诉用户重定向到哪里。
Strut配置文件是用来连接所有的东西在一起。 XML文件名必须是 “struts.xml”。在这个实例中,它位于
File : struts.xml
/login.jsp
/welcome_user.jsp
声明包和包含动作类,动作类是不言自明的,但你仍可能会感兴趣下面的新标签:
1. package name=”user”
就在包名,并不真正去关心它。
2. namespace=”/User”
它用于匹配“/User”URL模式。
3. extends=”struts-default”
这意味着该包是扩展了struts-default 包组件和拦截器,这是在struts-default.xml中文件中声明的,位于struts2-core.jar 文件的根目录。
配置Web应用程序部署描述符(web.xml)文件Struts2的集成到Web项目。
File web.xml
index.jsp
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
*.action
在Struts2中,可以直接使用.action后缀访问操作类。如下URL:
http://localhost:8080/struts2-xml-demo/User/Login.action
提交后到 http://localhost:8080/Struts2Example/User/Welcome.action 显示如下: