我们知道一个struts2的action类中,我们可以定义多个方法,不同的web页面的可以提交同一个action类中的不同方法。要实现这种功能,有多中配置方法。下面介绍一种比较好用,又比较简单的方法:
页面代码如下,其中的带有 hidden 属性的 input 中的name="method:test", 表示要将该form提交该 web/login 对应的action中的test方法:
<form action="web/login" method="post">
<input type="hidden" name="method:test" />
姓名:<input name="name" type="text" /> <br />
密码:<input name="password" type="password" /> <br />
<input type="submit" value="提交" />
Action代码如下:
package test;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport
{
private String name;
private String password;
public String execute() throws Exception
{
if(!("".equals(name) || "".equals(password)))
return SUCCESS;
else
return INPUT;
}
public String test() throws Exception
{
return "test";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}
配置文件如下:
<struts>
<package name="login" namespace="/web" extends="struts-default">
<action name="login" class="test.Login">
<result name="input" type="dispatcher">/web/login.jsp</result>
<result name="success" type="dispatcher">/web/welcome.jsp</result>
<result name="test" type="dispatcher">/web/test.jsp</result>
</action>
</package>
</struts>
这种方法的优点是:
1)不需要在struts的配置文件中配置多个action,每一个action类只要配置单独的一个配置项。
2)采用 actionName!method="test" 的方式,需要js来辅助。该提交方式,只需要一个隐藏的intput就解决了。十分简洁有效。
分享到:
相关推荐
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于读写且被广泛应用于Web应用的数据传输中。其核心特性在于独立于编程语言的文本格式,易于解析与生成。 **JSON结构** 1. **对象**:以花括号`{...
Struts2是一个流行的Java Web框架,它为开发者提供了一种优雅的方式来构建可维护、可扩展且结构清晰的Web应用程序。在Struts2中,文件上传是常见的功能之一,尤其是在处理用户提交表单时,比如上传图片、文档等。...
一、准备工作及实例 3 1.解压struts-2.1.6-all.zip 3 2.六个基本包 3 3.初识struts2配置文件 4 ... 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图来看: 60
Struts2是一个流行的Java web框架,它为开发者提供了一种组织和构建MVC(Model-View-Controller)应用程序的方式。在Struts2中,日期回显是指在表单提交后,若验证失败或者用户需要重新填写信息时,框架能够将之前...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中,类型转换是处理用户输入数据的关键环节,它允许开发者将前端表单提交的数据转换为服务器端可处理的类型。在本案例中,...
Struts2和jQuery是两种非常流行的开源技术,它们在Web开发中有着广泛的应用。Struts2作为MVC框架,主要用于处理后端业务逻辑,而jQuery则是一个强大的JavaScript库,简化了前端DOM操作、事件处理以及AJAX交互。在这...
总的来说,Struts2框架通过其强大的UI标签库和对AJAX的支持,提供了一种高效且灵活的方式来构建交互式的Web应用。理解并熟练运用这些概念和工具,将极大地提升Java Web开发的效率和应用的质量。
Struts2是一个非常流行的Java Web框架,它提供了一种优雅的方式来组织和控制应用程序的流程,同时也简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,数据类型转换器是一个关键组件,它负责将HTTP请求参数...
在Struts2框架中,自定义类型转换器是开发者为了满足特定需求,对框架默认的类型转换机制进行扩展的一种方式。Struts2允许我们创建自己的转换器类来处理输入数据,确保模型对象的属性能够正确地被转换为预期的数据...
- **拦截器基础**:拦截器是一种特殊的功能,可以在请求到达Action之前或之后执行一些特定的操作,如权限控制、性能监控等。 - **使用拦截器**:在struts.xml配置文件中定义拦截器,并将其应用于具体的Action。 - **...
Struts2是一个流行的Java Web框架,它提供了丰富的功能来帮助开发者构建MVC(Model-View-Controller)架构的应用程序。在Struts2中,验证是一个关键部分,用于确保用户输入的数据是有效和安全的。本篇文章将深入探讨...
在处理用户输入时,Struts2提供了一种类型转换机制,以确保从HTTP请求参数到Action类属性的自动类型匹配。然而,有时开发者可能会遇到一个情况,即自定义的`convertToString`方法在预期的情况下没有被调用,这通常是...
1. **Multipart请求**:在HTTP协议中,文件上传通常涉及到`multipart/form-data`编码类型,这是一种特殊的数据编码方式,允许在一个表单中同时提交文本数据和二进制文件。 2. **Servlet 3.0及以上版本**:Struts2...
Struts2作为一种改进的Web开发框架,相比Struts1更加灵活且易于扩展。Struts2采用了插件机制、拦截器技术、依赖注入等先进特性,使得开发者能够更加高效地构建复杂的Web应用程序。与传统的Struts1相比,Struts2不再...
在Struts2中,表单验证可以通过两种方式实现:一种是基于XML的配置,另一种是通过注解的方式。 ### 1. XML配置验证 在Struts2中,我们可以创建一个名为`struts.xml`或`struts-default.xml`的配置文件,其中包含...
Struts2提供了丰富的标签库,其中“S标签”(S-tags)是一种特殊的标签集合,用于简化页面上的数据绑定以及页面逻辑处理。S标签的设计目标是减少对脚本语言(如JSP EL表达式或脚本let)的依赖,并且提高页面的可读性...
Struts2是一个基于MVC模式的web应用程序框架,它提供了一种灵活的方式来处理用户请求和响应。在Struts2中,Action是一个核心概念,它负责处理用户请求和执行业务逻辑。但是,在某些情况下,我们可能需要配置默认...
- **OGNL**(Object-Graph Navigation Language):一种功能强大的表达式语言,用于获取或设置对象的属性。 - 在HTML表单中使用OGNL表达式: ```html ``` - 通过OGNL表达式语言来存取对象的属性。 #### 九、...
本文将深入分析Struts2中文乱码的原因,并提供一种通过自定义过滤器来解决该问题的方法。 #### 二、Struts2中文乱码原因分析 1. **客户端与服务器端编码不一致**:客户端提交的数据和服务器端接收的数据编码格式...
首先,枚举(Enum)在Java中是一种特殊的类,用于表示有限集合中的固定数量的值。在Struts2中,如果Action类的属性是枚举类型,系统默认可能无法正确地将字符串请求参数转化为枚举实例。为了解决这个问题,我们可以...