structs2 jsp页面参数封装成类传递到action

中途切入一个系统的维护,而我又是菜鸟。

系统要实现从前端jsp页面输入查询条件,传入后台action进行处理。根据原来的系统本身的代码大概明白是jsp里ognl表达式传参数过去,但是一直不成功。百度各种办法,找到下面方法都试过,好像都不行。找耳挠腮搞半天才发现,我ognl表达式里的值得大小写和action里的类实例名不一致,真是不能更二咯-。-

对齐了jsp里的ognl表达式和action里的类实例名后,问题解决了。把我搜到的structs2 jsp传参数到后台action的方法记录下来,抄一遍强化记忆

从别人那儿抄的:

struts2中的Action接收表单传递过来的参数有3种方法:

1>  Action类中定义表单属性

如,登陆表单login.jsp:

<form action="login" method="post" name="form">

User:<s:textfield name="username"/><br/>

Password:<s:password name="password"/><br/>

<s:submit value="提交"/>

</form>

在Action中定义两个属性

private String username;

private String password;

提供setter,getter方法。即可接收到表单传过来的参数. 这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。

2.把表单传递过来的参数封装成一个类,然后调用其中的属性.

如,登陆表单login.jsp:

<form action="login" method="post" name="form">

User:<s:textfield name="user.username"/><br/>

Password:<s:password name=" user.password"/><br/>

<s:submit value="提交"/>

</form>

定义Model类

public class User {

     private String username;

     private String password;

提供setter,getter方法。

}

在Action类中定义Model的对象

private User user;

提供setter,getter方法。

// 传说中这中方式用的比较多。

3.通过实现ModelDriven接口

接收表单数据首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来

如,登陆表单login.jsp:

<form action="login" method="post" name="form">

User:<s:textfield name="username"/><br/>

Password:<s:password name=" password"/><br/>

<s:submit value="提交"/>

</form>

定义Model类

public class User {

     private String username;

     private String password;

提供setter,getter方法。

}

Action类

public class loginAction extends ActionSupport implements ModelDriven<User> {

       User user = new User(); // 这种方式必须自己New对象

      ……………

public Users getModel(){

return user;

}

}

这种方式不需要有getter和setter方法。

时间: 2024-08-06 07:56:52

structs2 jsp页面参数封装成类传递到action的相关文章

SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类

在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置. 前台 url ,想后台传送两个参数,userName 和 password: 1 http://localhost:8082/web/baseAction.do?pathVar=app/task/fetchItemDetail.do?userName=123&password=123 将参数封装成bean 类,并在bean类中对参数进行控制: 1 2 3

php使用GD库实现图片水印和缩略图——封装成类

学完了如何使用GD库来实现对图片的各种处理,那么我们可以发现,不管哪种方法,都有相似之处,如果我们把这些相似的地方和不相似的地方都封装成类,这样就可以提升代码的速度,而且节省了很多时间,废话不多说,来人,上代码! 首先,先创建一个PHP文件:class.php(自定义) 我们知道,在 在原始图片中添加文字水印:http://www.cnblogs.com/finalanddistance/p/7243346.html 在原始图片中添加图片水印:http://www.cnblogs.com/fin

Directx11学习笔记【二】 将HelloWin封装成类

我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 MyWindow.h文件 1 /************************************************************************ 2 Directx11学习笔记[2] 将HelloWin封装成类 3 2016.01 by zhangbaochong 4 /

java--把获取Connection的代码封装成类

改为post后,如果乱码后,可以加上 request.setCharacterEncoding("UTF-8"); jsp页面调用将会变得非常简单

把ajax封装成类,用着方便

一直以来喜欢使用AJAX做一些方便的页面小功能,但是每次都写教案觉很费劲,于是封装了个简单的ajax类.毕竟不是精通js,还望各位指点一二~~ 不废话了,贴代码~~ function ajax() { this.request; this.header="/home/";//ajax初学最容易遇到的问题之一,路径问题,,一定要从域名后就开始写~~不是相对路径也不是绝对路径哈 this.createRequest=function() { var requests; if(window.

Ajax以及封装成类

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

将窗口调节和选择菜单封装成类

这是我目前为止觉得自己写的最好的一段c++了,虽然还是挺烂的吧. //转载请注明Author : liutianchenHANDLE console_handle = GetStdHandle(STD_OUTPUT_HANDLE); const int width = 100, height = 30; const int marginleft = 3, margintop = 2; class window_set { private: char *title; int Lbg_color,

JavaScript封装成类

JavaScript在WEB编程中能起到很大的作用,将一些常用的功能写成JavaScript类库. 将下面代码保存为Common.js 类库功能: 1.Trim(str)--去除字符串两边的空格 2.XMLEncode(str)--对字符串进行XML编码 3.ShowLabel(str,str)--鼠标提示功能(显示字符,提示字符) 可以设置显示的提示的文字的字体.颜色.大小以及提示的背景颜色.边框等 4.IsEmpty(obj)--验证输入框是否为空 5.IsInt(objStr,sign,z

Strut2 的 Action获取JSP 页面参数的方法

struts2 Action获取表单传值1.通过属性驱动式JSP:<form action="sys/login.action" method="post">      <input type="text" name="username">      <input type="submit" value="submit"></form> A