说说Action和Jsp页面交互的那些事
* 啰嗦 |
今天必须在台面上做一下批评(交给你们了)与自我批评。之前写博客,好像过于注重形式了,啰里啰嗦的。而且太过于注重写的博客是否可以让别人理解(表达上,非技术,小编仍是学习中的小鸟~),之后,小编要及时改正,重新审视了一下写博客的目的,给自己阶段性的学习一个总结;记录思维闪现的那一瞬间;重要的是自己看明白就好了,当然如果与路过的小伙伴产生共鸣,临表涕临。当然自己也尽量用简洁的语言把事情说明白,这里与君共勉。
* action与jsp握手 |
之前小编会先说原理,然后甩demo,今天我们换一个思路,先上demo宏观把握以下。jsp( javasever Pages)页面我们结合熟悉asp(action sever pages)这样就明白很多了,主要的作用显示,用户直接看到的。
action呢?这里小编想到的就是控制了,jsp页面的带着用户输入的参数,经过action处理,action想想之后会告诉服务器做一个什么样的回应,通过一个参数,决定要显示那个jsp画面。
我们先看一下jsp中是如何操作的,背景输入用户名,密码,登录:
<form method="post" action="${pageContext.request.contextPath }/adminUser_login.action" target="_parent" name='theForm' onsubmit="return validate()">
<table cellspacing="0" cellpadding="0" style="margin-top: 100px" align="center">
<tr>
<%--<td><img src="${pageContext.request.contextPath}/images/login.gif" width="178" height="256" border="0" alt="SHOP" /></td>--%>
<td style="padding-left: 50px">
<table>
<tr>
<td>管理员姓名:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>管理员密码:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="进入管理中心" class="button"/></td>
</tr>
</table>
</td>
</tr>
</table>
<input type="hidden" name="act" value="signin" />
</form>
看看action中我们是如何处理的,
/**
* 后台管理的action--viola--2018年1月19日20:56:48
* Created by Viola on 2018/1/19.
*/
public class AdminUserAction extends ActionSupport implements ModelDriven<AdminUser>{
/**模型驱动需要使用的对象*/
private AdminUser adminUser=new AdminUser();
@Override
public AdminUser getModel() {
return adminUser;
}
/**注入service*/
private AdminUserService adminUserService;
public void setAdminUserService(AdminUserService adminUserService) {
this.adminUserService = adminUserService;
}
/**
* 管理员登录--viola--2018年1月19日21:11:50
* @return
*/
public String login(){
//登录方法
AdminUser exitAdminUser=adminUserService.login(adminUser);
if (exitAdminUser ==null){
//登录失败
//显示错误信息
this.addActionError("亲,您输入的用户名或密码错误!");
return "loginFail";
}else{
//登录成功
//将用户信息存入session
ServletActionContext.getRequest().getSession().setAttribute("exitAdminUser",exitAdminUser);
return "loginSuccess";
}
}
}
我先不想说这里是如何如何,我想说说,浮现在我脑子里的问题:为什么action中可以接受到用户名和密码?jsp怎么传过去的?登录成功,这条闭合的回线是如何实现的?ModelDriven<>是什么?session如何将值传到jsp页面上供用户查看?联想到了值栈也是可以的,这两个的区别是什么?addActionError这个信息也可以显示到jsp页面吗?
亲们可以先过一下这样的问题,希望我们会有思维的碰撞~下面开始说说我对这些问题找的答案是什么~
* struts |
* 3.1 action
* 3.2 模型驱动
* 3.3 值栈/session
* 3.4 s标签
上一篇: pytorch常用的数据预处理
下一篇: 享元模式-Flyweight(转载)