struts2中的Action接收表单传递过来的参数有3种方法:
如,登陆表单login.jsp:
<form action="login" method="post" name="form1">
用户名:<s:textfield name="username"/><br/>
密 码:<s:password name="password"/><br/>
<s:submit value="提交"/>
</form>
1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.
这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。
2.把表单传递过来的参数封装成一个类,然后调用其中的属性.
如,把login.jsp页面要传来的参数进行封装
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
然后再Action方法中,定义该类的对象就可以了,如
public class loginAction extends ActionSupport{
private Users users;
public Users getUsers(){
return users;
}
public void setUsers(Users users){
this.users=users;
}
/*
传递过来的参数都封装在users中了,用getter方法取值就可以了
*/
}
通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样:
登陆表单login.jsp:
<form action="login" method="post" name="form1">
用户名:<s:textfield name="users.username"/><br/>
密 码:<s:password name="users.password"/><br/>
<s:submit value="提交"/>
</form>
这种方法,在struts开发中是很常用的一种方法!
3.通过实现ModelDriven接口接收表单数据
首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法
public class loginAction extends ActionSupport implements ModelDriven<Users>{
private Users users =new Users();
public Users getModel(){
return users;
}
/*
表单传来的参数封装在users对象中
表单属性名不需要加上引用users对象,直接传参数名
*/
}
相关推荐
Action类中的方法通常需要一个`execute`方法,返回一个表示结果的字符串,Struts2会根据这个结果选择合适的Result来展示响应。 ```java public class AjaxAction { private String value; public void setValue...
当用户提交表单时,Struts2框架会自动将请求参数映射到对应的Action属性,然后在Action执行方法中使用这些值进行业务处理。这种方式简单直观,适合简单的数据传递。 2. **ValueStack和Ognl表达式** ValueStack是...
Struts2和JSP是两种广泛应用于Web开发的技术,它们在构建环保公司门户网站这样的项目中发挥着关键作用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java框架,它提供了强大的控制层功能,使得应用程序...
struts2使用域模型传值,如何在struts2中使用与模型传值
在Struts2框架中,实现前后台的数据传递是构建Web应用的基础之一。本文将详细介绍三种常见的Struts2数据传递方式:通过默认的Action属性传递、使用Value Object(VO)传递以及利用ModelDriven模式进行数据传输。 ##...
总之,Struts 2 中处理中文汉字传值的关键在于理解和正确使用字符编码,包括设置页面编码、响应编码、URL编码和Action中的解码步骤。确保每个环节都与UTF-8编码兼容,可以避免中文字符的乱码问题。在实际开发中,还...
Struts2和JSP是两种在Java Web开发中广泛使用的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它主要用于构建和维护可扩展的、易于测试的Web应用程序。而JSP(JavaServer Pages)是一种...
首先,传值问题在Struts2中主要涉及到Action类和JSP页面之间的交互。在Action类中,有两种方式可以将值传递到JSP页面: 1. 不加#的方式获取(所有对象放置在栈顶): - 如果XXaction类中存在与标签对应的成员变量...
在案例中,你可以期待看到一个或多个JSP文件,这些文件可能包含`<s:property>`标签,这是Struts2标签库的一部分,用于显示Action中的属性值。 接着,我们转向Freemarker模板。Freemarker是一种模板引擎,它的主要...
### Struts2框架中Action间传值方法详解 在Struts2框架中,Action类是处理用户请求的核心组件,它们负责执行具体的业务逻辑,并决定视图的转向。在某些情况下,我们可能需要在一个Action处理完成后将某些数据传递给...
在这个配置JSP的场景中,我们通常会涉及到Struts2的核心库和其他必要的依赖,这些依赖通常以jar(Java Archive)文件的形式存在。以下是关于Struts2配置JSP以及SSH整合所需的知识点: 1. **Struts2核心库**:Struts...
Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...
在Struts2框架中,中文乱码问题通常发生在数据传输过程中,尤其是从客户端到服务器端的数据传递,或者是在服务器内部处理时出现编码不一致导致的问题。具体原因可能包括: 1. **客户端与服务器端编码设置不一致**:...
在更新操作中,`s:textfield`可以自动将Action中的属性值绑定到输入框,提交时再通过Struts2的数据绑定机制自动回填到Action中。 此外,Struts2还提供了拦截器(Interceptors)机制,它们在Action调用前后执行,...
6. **动态方法调用**:Struts2支持动态方法调用,即可以通过URL直接调用Action类的方法,无需在配置文件中一一映射。 7. **插件支持**:Struts2拥有丰富的插件库,如Struts2-dojo-plugin用于增强AJAX功能,Struts2-...
5. **Struts2与JSP的交互**:在Struts2中,Action执行完毕后会返回一个结果类型,该结果类型对应一个JSP页面。例如,一个名为"StudentAction"的Action可能会返回"success"结果,这将导致Struts2加载对应的success....
今天,我们将讨论如何解决URL传值到Action乱码问题,特别是在Struts2框架中。 乱码问题的原因 乱码问题的原因是因为URL传值时,浏览器和服务器之间的编码方式不同所致。在大多数情况下,浏览器使用UTF-8编码,而...
博客后台管理系统是一个基于Struts2、JSP和MySQL技术实现的应用程序,主要用于管理博客网站的内容、用户和元数据。这个系统通常包含多个模块,如文章发布、用户管理、评论处理等,提供对博客数据的增删改查功能,...
在这个案例中,Struts2将处理用户的HTTP请求,并根据配置的Action映射转发到相应的业务方法。它通过拦截器机制,实现了AOP(面向切面编程),使得日志记录、权限控制等操作变得简单。Struts2还支持多种结果类型,如...
具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的输入,这两个页面提交给loginAction中的两个方法进行业务处理,...