- 浏览: 470575 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
excellent95:
谢楼主分享,确实是CSS图片问题
Struts2判断页面是POST方式提交还是GET方式提交 -
wangluo2:
javaBase那个包显示有问题啊pom文件那一行报错了
微信公众平台开发实战(08) 基于地理信息的服务(LBS) -
andilyliao:
jd技术这么渣也好意思出书,真是醉了
《京东技术解密》试读--十年磨一剑 -
bitray:
刘强东作序多什么,他也不会什么技术,腾讯出来帮他还不是因为腾讯 ...
《京东技术解密》试读--十年磨一剑 -
come_for_dream:
想试试搞这个
《大型分布式网站架构设计与实践》试读
Struts2的三种接收用户输入的方法
1. 利用 action 类的属性接收用户输入
这种方式最简单,在action 中创建需要的属性,然后添加getter 、setter 方法:
代码清单1 : Login1Action.java
package com.coderdream.action; public class Login1Action { 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; } public String execute() { if ("aaa" .equalsIgnoreCase(username .trim()) && "123" .equalsIgnoreCase(password .trim())) { return "success" ; } else { return "failure" ; } } }
在jsp 中调用(输入):
代码清单 2 : login.jsp 片段
1 、利用 action 类的属性接收用户输入: < br /> < form action =" <%= path%> /login1.action" method ="POST" > 姓名: < input type ="text" name ="username " > < br /> 密码: < input type ="text" name ="password " > < br /> < input type ="submit" name =" 登录 " > < br /> </ form >
在jsp 中调用(输出):
代码清单 3 : login1Suc.jsp 片段
欢迎 < s:property value ="username " /> ,登录成功!
2. 利用领域对象( VO )接收用户输入
先创建VO 对象,在对象中创建需要的属性,然后添加getter 、setter 方法:
代码清单 4 : User.java
package com.coderdream.vo; public class User { 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 中创建User 对象,并添加该对象的getter 、setter 方法:
代码清单 5 : Login2Action.java
package com.coderdream.action; import com.coderdream.vo.User; import com.opensymphony.xwork2.Action; public class Login2Action implements Action { private User user ; public User getUser() { return user ; } public void setUser(User user) { this .user = user; } public String execute() { if ("aaa" .equalsIgnoreCase(user .getUsername().trim()) && "123" .equalsIgnoreCase(user .getPassword().trim())) { return SUCCESS ; } else { return INPUT ; } } }
在jsp 中调用,需要使用user 对象名(输入):
代码清单 6 : login.jsp 片段
2 、利用领域对象( VO )接收用户输入: < br /> < form action =" <%= path%> /login2.action" method ="POST" > 姓名: < input type ="text" name ="user.username " > < br /> 密码: < input type ="text" name ="user.password " > < br /> < input type ="submit" name =" 登录 " > < br /> </ form >
在jsp 中调用,需要使用user 对象名(输出):
代码清单 7 : login1Suc.jsp 片段
欢迎 < s:property value ="user.username " /> ,登录成功!
3. 使用 ModelDriven 模式接收用户输入
使用这种方式时,需要实现下面的接口:
com.opensymphony.xwork2 Interface ModelDriven <T> public interface ModelDriven<T>ModelDriven Actions provide a model object to be pushed onto the ValueStack in addition to the Action itself, allowing a FormBean type approach like Struts.
然后在action 中创建需要的模型,最后实现getModel() 方法:
代码清单 8 : Login3Action.java
package com.coderdream.action; import com.coderdream.vo.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class Login3Action extends ActionSupport implements ModelDriven<User> { private User user = new User(); public User getModel() { return user ; } public String execute() { if ("aaa" .equalsIgnoreCase(user .getUsername().trim()) && "123" .equalsIgnoreCase(user .getPassword().trim())) { return SUCCESS ; } else { return INPUT ; } } }
在jsp 中调用,不需要使用User 对象,直接通过属性名获取(输入):
代码清单 9 : login.jsp 片段
3 、使用 ModelDriven 模式接收用户输入: < br /> < form action =" <%= path%> /login3.action" method ="POST" > 姓名: < input type ="text" name ="username " > < br /> 密码: < input type ="text" name ="password " > < br /> < input type ="submit" name =" 登录 " > < br /> </ form >
在jsp 中调用,不需要使用User 对象,直接通过属性名获取(输出):
代码清单 10 : login1Suc.jsp 片段
欢迎 < s:property value ="username " /> ,登录成功!
4. 三种方式小结
Java代码 | jsp代码 | 备注 | ||
1 | 利用action类的属性接收用户输入 | 通过属性的getter/setter方法设置和使用属性 |
输入与输出:属性名 <input type="text" name="username "> <s:property value=" username " /> |
属性很多时,action中的代码会非常多 |
2 | 利用领域对象(VO)接收用户输入 | 通过对象的getter/setter方法设置和使用对象 |
输入与输出:对象.属性名 <input type="text" name="user.username "> <s:property value=" user.username " /> |
|
3 | 使用ModelDriven模式接收用户输入 | 在创建属性对象时就创建对象,然后通过getModel()方法使用对象 |
输入与输出:属性名 <input type="text" name="username "> <s:property value=" username " /> |
在Java和jsp代码调用很方便,不需要对象名 |
5. 源代码
见 附件。
我的联系方式: 85337464
我的博客: http://coderdream.iteye.com
- ZB_S2_D0202.rar (11.9 KB)
- 下载次数: 18
- 0202.Struts2的三种接收用户输入的方法.pdf (224.9 KB)
- 下载次数: 34
发表评论
-
Maven Struts2 项目
2013-09-14 11:44 01、创建好Maven环境; 2、创建一个Maven工 ... -
【张冰Struts2学习笔记】0601.struts.xml配置详解之六 Action配置3 通配符
2010-11-26 15:19 2547struts.xml 配置详解之六 通配符 ... -
【张冰Struts2学习笔记】0502.struts.xml配置详解之五 Action配置2
2010-11-26 14:28 1893struts.xml 配置详解之五 Action ... -
【张冰Struts2学习笔记】0501.struts.xml配置详解之四 Action配置1
2010-11-26 13:10 1874struts.xml 配置详解之四 Action 配置 ... -
【张冰Struts2学习笔记】0403.struts.xml配置详解之三 拦截器配置
2010-11-25 19:03 3316struts.xml 配置详解之三 拦截器配置 ... -
【张冰Struts2学习笔记】0402.struts.xml配置详解之二 名称空间 包含
2010-11-25 18:59 1888struts.xml 配置详解之二 名称空间 包含 ... -
【张冰Struts2学习笔记】0401_struts.xml配置详解之一
2010-11-25 13:56 2293struts.xml 配置详解之一 Bean ... -
【张冰Struts2学习笔记】0302.Struts2的主要配置文件及优先级
2010-11-20 16:33 1678Struts2 的主要配置文件及优先级 ... -
【张冰Struts2学习笔记】0301_struts.properties 配置详解(表格版)
2010-11-17 15:23 1568注:附件pdf中有35个属性! ... -
【张冰Struts2学习笔记】0201_Action接口与ActionSupport类
2010-11-16 15:32 4079Action 接口与ActionSupport ... -
【张冰Struts2学习笔记】0102_第一个Struts2实例
2010-11-14 19:17 2964基于Struts2 的简单登录项目 ... -
【张冰Struts2学习笔记】0101_Struts1与Struts2的不同点
2010-11-14 14:12 1375Struts1与Struts2的不同点 ... -
基于Struts2的Web应用程序所需要的最少类库
2010-08-30 16:17 1864Struts 2.0.11版: 文件名 ... -
Struts2判断页面是POST方式提交还是GET方式提交
2010-06-03 11:06 9106在项目开发过程中,发现有个页面会提交两次,一直没有找到原因,后 ... -
Struts2的一个问题!no found ApplicationContextAware
2009-06-15 16:39 1702问题: Caused by: java.lang.NoC ... -
struts2的select用法
2009-02-11 09:59 66441、在页面对应的Action中有typeBase属性,改变下拉 ... -
子页面刷新父窗口
2009-02-09 11:50 3115下面的例子是一个子窗体调用方法改变父窗体 主页面 cc.ht ... -
Struts2结合JavaScript控制单选框的状态
2008-12-26 11:48 2049需求: 某个页面有3种操作,新增、修改和删除,其中某个字段为只 ... -
《Struts2深入详解》笔记--第三章 由“登录开始”
2008-12-02 19:36 17141、使用领域对象来接收用户输入 【工程1:sx_ch ... -
Struts2使用经验
2008-11-27 14:35 1410、显示某个对象的某个属性值: 两种方式: ${enterpri ...
相关推荐
NULL 博文链接:https://coderdream.iteye.com/blog/812871
NULL 博文链接:https://coderdream.iteye.com/blog/811139
NULL 博文链接:https://coderdream.iteye.com/blog/811262
Struts2_张冰_视频教程课件_PPT,张冰配套教学视频课件。
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰主讲的struts2 ppt 比较详细的一份ppt
struts2的介绍,struts框架结构、控制器组件、标签库以及详细的配置文件描述
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰主讲的Struts2的PPT,主要介绍Struts2和Struts1的区别,还介绍了简单的登录功能的实现。建议初学者看,可以让你从宏观上把握Struts2.
我主要参考了《深入浅出Struts2》、《Struts2.0中文教程》以及张冰老师的视频教程,这里借机很感谢他们,大家可以在网上收到这些资料,当然可以向我索要,我会很乐意给大家的。当然我不认为这是最好、最全的学习...
张冰_struts2_PPT 2009 ...............
该文档是我看张冰老师的整合SSH视频的心得,我自己好不容易整合好了,将详细的步骤记录了下来,和大家分享,希望对大家有用!
C面向对象程序设计张冰PPT学习教案.pptx
阿里巴巴网信用交易模式研究_张冰晔
C++面向对象程序设计 张冰 课件、源代码