📅  最后修改于: 2021-01-11 02:45:12             🧑  作者: Mango
在此示例中,我们将创建不带IDE的struts 2示例。通过执行以下简单步骤,我们可以简单地创建struts 2应用程序:
Struts 2的目录结构与servlet / JSP相同。在这里,struts.xml文件必须位于classes文件夹中。
该jsp页面使用struts UI标记创建表单。要使用struts UI标签,您需要指定uri / struts-tags。在这里,我们使用s:form创建表单,使用s:textfield创建文本字段,使用s:submit创建提交按钮。
<%@ taglib uri="/struts-tags" prefix="s" %>
在struts 2中, StrutsPrepareAndExecuteFilter类用作控制器。众所周知,Struts 2使用过滤器作为控制器。它是由struts框架隐式提供的。
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
这是简单的bean类。在struts 2中,动作是POJO(普通的旧Java对象)。它有一个额外的方法execute,即默认情况下由struts框架调用。
package com.javatpoint;
public class Product {
private int id;
private String name;
private float price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String execute(){
return "success";
}
}
它是重要的文件,struts框架从该文件中获取有关操作的信息并确定要调用的结果。在这里,我们使用了许多要素,例如支撑,包装,动作和结果。
struts元素是此文件的根元素。它代表一个应用程序。
package元素是struts的子元素。它代表应用程序的模块。它通常扩展了struts-default包,其中定义了许多拦截器和结果类型。
动作元素是包的子元素。它表示要为传入请求调用的操作。它具有名称,类和方法属性。如果不指定名称属性,默认情况下将为指定的动作类调用execute()方法。
结果元素是动作的子元素。它表示将被调用的视图(结果)。 Struts框架检查操作类返回的字符串,如果返回成功,则将调用名称为成功或没有名称的操作的结果页面。它具有名称和类型属性。两者都是可选的。如果不指定结果名称,则默认情况下将成功作为结果名称。如果未指定type属性,则默认情况下将调度程序视为默认结果类型。稍后我们将了解结果类型。
welcome.jsp
它是视图组件,用于显示操作信息。在这里,我们使用struts标记获取信息。
s:property标记返回存储在操作对象中的给定名称的值。
<%@ taglib uri="/struts-tags" prefix="s" %>
Product Id:
Product Name:
Product Price:
要运行此应用程序,您需要拥有struts 2 jar文件。在这里,我们为struts 2提供了所有必需的jar文件。下载它并将这些jar文件放入项目的lib文件夹中。
最后,启动服务器并部署项目并访问它。