Strust2使用领域 对象接收用户输λ
来源:互联网 发布:微信公众号js sdk 编辑:程序博客网 时间:2024/06/05 00:44
Step1:在webroot目录下新建login.jsp文件,login.jsp向用户显示一个登陆表单,在用户输入用户名和密码后,提交个loginAction进行处理。login.jsp代码如下
<%@ taglib prefix="S" uri="/struts-tags" %><%@ taglib prefix="s" uri="/struts-tags" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><S:form action="loginAction" method="POST"> <S:textfield name="userinfo.username"></S:textfield> <s:textfield name="userinfo.pwd"></s:textfield> <S:submit value="提交"></S:submit></S:form></body></html>注意代码中以粗体显示的部分。在 Step4中将详细介绍为什么果用这种格式。
Step2
userinfo对象作为领域对象。用于接收用户输入的登陆信息。userinfo类代码如下:
public class Userinfo { private String username; private String pwd; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; }}Step3:编写loginAction类
LoginAction 时用户置最请求进行处理, LoginAction 的代码如下:
public class ActionUser implements Action{ private Userinfo userinfo; public Userinfo getUserinfo() { return userinfo; } public void setUserinfo(Userinfo userinfo) { this.userinfo = userinfo; } public String execute() throws Exception { if("admin".equals(userinfo.getUsername())&&"admin".equals(userinfo.getPwd())){ return SUCCESS; }else{ return LOGIN; } }为了简单起见,我们直接在execute()方法中对象用户登陆信息进行了判断,如果登陆成功,返回SUCCESS结果代码("index.jsp");如果登陆失败,执行LOGIN结果代码("login.jsp").
在置是页面 login.jsp中, 有这样两句代码:
<S:textfield name="userinfo.username"></S:textfield> <s:textfield name="userinfo.pwd"></s:textfield>通过 Struts2 框架的散据拂直机制, 传递 user usemame 请求#数等同于调用:
action.getUserinfo.setUsername(.....)
但是我们注意到,在loginAction中,并没有创建如何的Userinfo类的实例对象,按理说程序应该会抛出NullPointerException。不过,在Struts2中不是什么问题,Struts2会遍历所有的请求参数,自动依次实例化如何用于填充数据的对象。例如:Struts2尝试设置Userinfo对象的username属性时,将依次调用一下方法:
action.getUserinfo();action.setUserinfo(new Userinfo);action.setUserinfo().setUsername();Struts2 先尝试获得得 "UserInfo"'对象的引用,当它发现Userinfo对象为null时,它将使用Userinfo类的默认构造(无参构造方法)创建一个UserInfo实例,并调用actio的setUserInfo()方法设置这个实例,这样,Struts2就可以设置UserInfo对象的username字段了。
Step4:在Struts.xml文件中配置LoginAction:
代码如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="default" namespace="/" extends="struts-default"> <action name="ActionUser" class="cn.happy.action.ActionUser"> <result name="success">/index.jsp</result> <result name="login">/login.jsp</result> </action> </package></struts>
阅读全文
0 0
- Strust2使用领域 对象接收用户输λ
- strust2 获取HttpServletResponse对象
- strust2 标签的使用
- strust2 标签的使用
- strust2 中Tiles使用
- strust2使用通配符
- SpringMVC 使用对象接收参数
- 领域对象接受用户输入参数 传入为空
- 使用Domain Model接收参数添加用户
- 使用ModelDriven接收参数添加用户
- Strust2
- strust2
- Strust2
- 使用面向对象获取领域名词
- Strust2 一些标签的使用
- 使用strust2遇到的问题
- 使用Strust2框架写HelloWorld
- 使用Strust2框架写HelloWorld
- [Python 实战]
- 1031. 查验身份证(15)
- MySQL的安装和与Python的连接(Ubuntu)
- 第8周项目4-稀疏矩阵的三元组表示的实现及应用(1)
- shell 具体的操作
- Strust2使用领域 对象接收用户输λ
- Java多线程编程-(10)-单例模式几种写法的错与对
- 第八周项目链串
- 流水账笔记:PE文件格式(资源表)
- Java基础知识
- Linux下管理员设置用户登录时的警告信息以及不同用户之前相互简单交流的方法
- DL实现semantic segmentation
- TensorFlow与Python代码学习(1):Tutorial与Tensor的基本操作
- python: 统计 含有指定字符串 的 元素